I Use This!
Activity Not Available


Analyzed 10 months ago. based on code collected about 1 year ago.
Posted about 5 hours ago by Michael Pyne (mpyne)
I had an amazing time with the KDE community in Vienna this past week at Akademy. In fact it was my first Akademy despite contributing to KDE for so long, but Vienna was a great reason to make my first trip to Europe. It’s like Vienna knew I was ... [More] coming over It was nice to experience in person many of the things I read about from previous Akademies. There were the talks, meeting up with friends, the late-night hacking, showing others the work I’ve done. I even got to participate in impromptu collaborations such as taking Helio’s Qt1 port to CMake and building and running it on the Windows Subsystem for Linux within minutes of his announcement of the release. I also got a reminder again of the importance of open source and making the work we do available to the wider community at the postmarketOS talk on day 2 of the talks, where the presenter noted how their effort to port a real Linux (as opposed to something like AOSP) to mobile form factors with a good GUI ran into some roadblocks related to their use of Alpine Linux (which uses musl libc), but managed to overcome those roadblocks more quickly thanks in part to some patches I’d written a year ago for musl support. This helped get them closer to running Plasma Mobile on platforms like the original Nexus. This talk was the first I’d heard of this, and this platform wasn’t the reason I’d pushed to get KF5 to compile on Alpine, but then that’s the beauty of open source — people will do amazing things with even the smallest contributions you make, if only you get those contributions out there. Improving the onboarding experience A big theme of this Akademy was improving our ability to onboard new contributors, whether that’s testers, artists, bug triagers, designers, and developers, which is one of our major goals as a community. We need help everywhere, and this focus was reflected in many of the “Birds of a Feather” (BoF) sessions we conducted. Improving kdesrc-build I led a BoF on this topic for kdesrc-build and participated in a few others as well. There’s a lot out there that we can do to improve our story here, in kdesrc-build and elsewhere, and I’m hopeful we can accomplish real improvement here over the next year. But it was also nice to see and hear a lot of the positive feedback our developers had about kdesrc-build. Pain points from the kdesrc-build BoF Suggested improvements from the kdesrc-build BoF (some less serious than others…) At that BoF, Dominik Haumann also demonstrated a mockup for GUI he’s been working on that, in association with the work I’ve been doing to add support for APIs in kdesrc-build to communicate to external processes, would make it easier to use kdesrc-build. More to follow on that, but I’m excited for it. Other options for onboarding Also, there was acknowledgment during the week that kdesrc-build is not the best method to get access to bleeding-edge KDE software for all the types of new users. That’s OK — I agree myself, and if anything it would be surprising for a command-line script to manage to be all things to all people. So we talked during the week about other options for getting people access to more recent builds of KDE software (Plasma, the Frameworks, Applications, etc.). These options could include: Using virtual machines like KDE Neon’s Developer Edition (recommended by Nate Graham) Flatpaks or Snaps for nightly builds Conan.io C++ binary packages Container-based solutions (e.g. being able to “docker pull” a kdesrc-build-based image based off a standard Linux-based docker image and which automatically gets you all the way to a working install without extra effort on your part) There’s pros and cons to all of these. I don’t expect kdesrc-build would go away — our developers need some way to build our software on their own, but many of these would be much easier for power users to test on, or for application developers to use to just get the latest Frameworks easily. Closing Thoughts All in all, Akademy was an amazing experience, it more than met up to the reputation it had built in my head from seeing things from the outside here. It’s never too late to attend either, so don’t let missing a few like I did keep you from going to your first! The team that hosted Akademy did an amazing job in organizing. These types of events offer every opportunity for “Murphy’s Law” to strike, but you’d never have noticed from my perspective as a participant — everything simply happened smoothly. I was especially impressed with the extracurriculars like the day trip to the Kahlenburg, and the sightseeing tour of Vienna hosted by the local team (the tour was so good you’d never have believed it was organized nearly at the last minute in response to the high interest we showed). Now, it’s time to dive into all the “TODOs” I’d collected from just a week of in-person engagement with the Community, until the next time I can come back! [Less]
Posted about 11 hours ago by Jasem Mutlaq (KNRO)
KStars 2.9.8 is released for Windows, MacOS, and Linux. It is a hotfix release that contains bug fixes and stability improvements over the last release.This marks the last release of the 2.x series, the next KStars release shall be ... [More] v3.0.0Highlights: + Eric Dejouhanet fixed several issues in the Ekos scheduler to enable running duplicate jobs. + Pino Toscano fixed many problematic i18n strings that accumulated over the years. + Csaba Kertesz improved KStars Lite android build process and fixed touch support. + Andy Galasso fixed several issues with Ekos PHD2 support. + Wolfgang Reissenberger fixed logging out in capture module.+ Yuri Chornoivan fixed minor EBN issues.+ Using Max RMS value as the threshold to abort the guider instead of maximum pulse length. [Less]
Posted about 12 hours ago by Volker Krause
At Akademy I’ve presented the current state of KDE Itinerary. Due to popular demand and since 25 minutes aren’t a whole lot of time I’ll try to write a few posts on this subject here too, beginning with how this all started. When travelling ... [More] regularly you probably have come across or are using the digital travel assistant features found on Android or iOS, or dedicated services for this like TripIt. Getting a unified itinerary rather than digging through ad-infested HTML emails for your departure gate, having a single place to look for your boarding pass rather than two dozen vendor apps and getting up to date information about changes to your trip are all very useful and convenient. Most of this is available “for free”, that is you pay with your data rather than your money. In the extreme case (Google), you have those providers reading your entire email in order to extract your travel information. But even if you restrict this to just your travel-related communication there’s a lot of potentially sensitive information involved here: name, address and birthday credit card numbers and how much you spent on your trip when and where your travel, and with whom passport numbers While I’d like to have all the nice digital travel assistant features, I’m not willing to pay with that much personal information for it. On they way home from the Randa meeting last year and unable to read my boarding time in a proprietary Apple Wallet pass file this lead to a little exploration into possible free software alternatives in this field. That got slightly out of hand, and a few month later we have some working components in the KDE Application releases already. It turns out that the challenge in these systems is actually not so much code, but data. In particular there are three general categories of data to look at: Personal data, that is your emails containing reservation or booking data, boarding passes, train tickets, etc. This part is easy to obtain, you have that data. Extracting structured information from this needs some work though. Static data, that is information about the timezone and location of a certain airport or train station for example. For a lot of this we have excellent open data sources available, most prominently Wikidata and OpenStreetmap. Dynamic data, that is live traffic information about delays, gate or platform changes, traffic jams, etc. This is the real problem, there are few open data sources available for this, and due to its nature this data is usually only available from the corresponding transport provider. And even where available without cost we hit practical issues for free software in the form of API keys. While not perfect, that’s good enough to get started :) The next post will detail how far we got by now. [Less]
Posted about 19 hours ago by Nate Graham (ngraham)
I’m back from Akademy, and I can’t wait to share some of the cool stuff that happened there over the past week. I’m going to post the video of my talk as soon as it’s up. But first, I know what you’re all really waiting for: this week’s Usability ... [More] & Productivity update. Though we were all quite busy, somehow everyone managed to accomplish an enormous amount of work, too! In particular there has been a momentous amount of improvement to Kate and the code that underpins it: the Syntax Highlighting and KTextEditor frameworks. These frameworks are used to provide text editor views to the Kate, KWrite, KDevelop, and Kile apps, so any improvements to them are felt very widely within the universe of KDE apps. I want to recognize the efforts of Christoph Cullmann, Dominik Haumann, Kåre Sårs, and Sven Brauch for their stunning amount of work. While I was working on this post Tuesday night, there was a time when I was literally (not figuratively, I mean literally literally) unable to document the improvements as fast as they would show up in my email inbox. These guys deserve the community’s respect for the stunning quantity of work they performed in an astonishingly small amount of time. Let’s give ’em all a round of applause. But that’s not all! Take a look at the full list, which includes many, many more nice improvements: New Features Kate (and other apps using the KTextEditor frameworks, like KDevelop) now has the ability to turn off Syntax highlighting entirely, if desired (Christoph Cullmann, KDE Frameworks 5.50) Kate (and other apps using the KTextEditor frameworks, like KDevelop) now has the ability to display inline notes and messages. Expect this feature to enable some really, really awesome possibilities in the future! (Michal Srb and Sven Brauch, KDE Frameworks 5.50) Bugfixes When System settings pages (KCMs) are opened in standalone form, their window is now sized correctly (Valeriy Malov, KDE Frameworks 5.50) The Desktop Effects page in System Settings now has crisp and correct-looking text when using a fractional scale factor (Bo Simonsen, KDE Plasma 5.12.7) When using Kicker and one sub-menu has an item with very long text that causes the menu to be wider than normal, other sub-menus now have the correct shorter width (Albert Astals Cid, KDE Plasma 5.13.5) Scrolling in Kate (and other apps using the KTextEditor framework) is no longer jumpy when lines are wrapped (Sven Brauch, KDE Frameworks 5.50) This is expected to be particularly welcome for users of LaTeX in Kile, who are asked to test this out and see if it helps them! building the KTextEditor framework from source is sufficient to test–or just using a rolling release distro like Arch or Manjaro or OpenSUSE Tumbleweed and wait until next month for the release of KDE Frameworks 5.50. Kate (and other apps using the KTextEditor framework) received innumerable improvements to syntax highlighting for KDE Frameworks 5.50: Dominik Haumann added support for the Stan language; Aaron Puchert Added support for R Documentation files; Christoph Cullmann improved support for many file types; Nibaldo Gonzáles improved support for YAML, Java, JavaScript, AppArmor files various other things; Miklos Marton improved support for Autodesk Eagle files; Alex Turbov improved support for RST files; in fact there were just too many syntax highlighting improvements to list; just look at the commit log to see them all! Kate (and other apps using the KTextEditor frameworks) now prints the footer using the font specified in the Footer Font settings (KDE Frameworks 5.50) When using multiple Activities, Kate now opens files in the correct activity (Simone Scalabrino, KDE Applications 18.12.0) Kate (and other apps using the KTextEditor frameworks) no longer crash when replacing a newline at the end of a document with a space (Dominik Haumann, KDE Frameworks 5.50) Kate now displays all the correct icons when run on GNOME using the GNOME icon theme (Kåre Sårs, KDE Applications 18.12.0) By default, clicking the scroll track in a GTK app now moves the scrollbar one page length at a time in the direction of the cursor rather than jumping the bar to that location–matching the behavior for Qt apps as well as what the checkbox in System Settings says it will do (Wolfgang Bauer, KDE Plasma 5.12.7 In Okular, saving a PDF no longer inappropriately switches from Thumbnail view to Content view (Ahmad Osama, KDE Applications 18.08.0) In Okular, ePub files containing resources with spaces in their URLs now display correctly (Gilbert Assaf, KDE Applications 18.12.0) When Dolphin is able to display file creation dates (e.g. on BSD-based operating systems, but I am working on doing it for Linux too!), those dates are now printed in a human-readable format (Kai Uwe Broulik, KDE Applications 18.08.1) In KCalc, pressing the = key multiple times now does what it should and repeats the last calculation (Maximilian Schiller, KDE Applications 18.12.0) UI Polish & Improvement Added a new Scale effect that replaces the previous Scale In effect . The new effects animates window closing as well, and is much more visually appealing (Vlad Zagorodniy, KDE Plasma 5.14.0): The configuration and removal text for Widgets are now grammatically correct and consistent with one another (me: Nate Graham, KDE Frameworks 5.50): When moving or copying a file, the Notification plasmoid’s progress display shows the destination filename, not the source file name (Karthik Periagaram, KDE Plasma 5.14.0) Line numbers are now on by default in Kate (Christoph Cullmann, KDE Applications 18.12.0) Gwenview’s “Reduce Red Eye” tool received a variety of nice usability improvements (Henrik Fehlauer, KDE Applications 18.12.0): In Gwenview, it’s now possible to double-click to immediately correct red eyes in photos when using the Reduce Red Eye tool (Henrik Fehlauer, KDE Applications 18.12.0) Next week, your name could be in this list! Just check out https://community.kde.org/Get_Involved, and find out how you can help be a part of something that really matters. If my efforts to perform, guide, and document this work seem useful and you’d like to see more of them, then consider becoming a patron on Patreon, LiberaPay, or PayPal. Also consider making a donation to the KDE e.V. foundation. [Less]
Posted 1 day ago by Caio Jordão Carvalho (cjlcarvalho)
Hello! So Akademy 2018 has finished and it was a very impressive event. It happened in Vienna, Austria and it was my first opportunity to join in a KDE event, to travel to another country and to meet people from the community! I couldn't participate during the first day of the event (August 11th) because … Continue reading Akademy 2018 was great!
Posted 1 day ago by Sven Brauch
As I am writing this, I am sitting in a train home from Akademy 2018, KDE’s annual developer conference, which took place in Vienna this year. Akademy always is a great mix of some talks, some socializing with people you otherwise only communicate ... [More] with through mailing lists or IRC, and some hacking, and this year’s conference was no exception to this. In this post, I will detail some of the technical progress we made and some of the things we discussed. Polishing The small bugs are often the most annoying ones, but now there is a few less of them. Kate’s completion widget (as used in KDevelop and Kile as well) now again is sized correctly such that none of the text is cut off. If you edit documents with very long lines in Kate, such as LaTeX files, you might have had strange issues with scrolling. This was caused by scrolling one “real” line at a time, instead of one line as layouted by the dynamic word-wrap feature. This behaviour is now changed, and scrolling should be much smoother. On the performance side, I fixed a performance bug in Kate’s QuickOpen widget, such that it now opens much faster for large projects. Also, the include navigation tooltips of KDevelop’s C++ support behave less agressively now. New InlineNote interface A good part of the time I spent hacking was spent on the new InlineNote interface for KTextEditor. This interface, originally suggested and implemented in its basic form by Michal, will be available starting with KTextEditor 5.50 and allows client applications to easily add arbitrary inline elements into the text. Sample use of the InlineNote interface. Screenshot by Michal from https://phabricator.kde.org/D12662 KTextEditor’s layout engine takes care of everything complex here, such as cursor navigation and text layout around the note; you only need to specify where you want a note, how much space you need for it, and perform the actual painting when asked to. After several iterations of discussing how to best design this interface and trying the options out in practice, we now came up with something which we believe to be easy to understand and use, while still having very little computational overhead and being easily extensible in a binary- and source-compatible way in future versions. The interface even allows interactions with the widgets, allowing its user to react to clicks or other mouse events. If there is interest in a tutorial blog post explaining how to use this interface, please leave a comment and I will write one. Syntax error shown inline in KDevelop. You can click the “Fix” button to fix it. Something I am working on using the notes interface for is KDevelop’s problem reporting and code assistants, which I believe could greatly benefit from this. I’m aware that as shown above it is quite probably too intrusive, and the notes will probably end up collapsed e.g. to a small red exclamation mark and expand on mouse-over or on a keyboard shortcut, but for now I’m trying it out like this. Michal, the original author of the interface and its implementation, is also working on a plugin for KDevelop which shows additional information inline, as seen in the first screenshot above. Planning KDevelop’s future I do not want to say too much about this planning since there is no real plan yet, but in the KDevelop meeting at Akademy (which unfortunately only a small part of our core development team could attend this year), we discussed a bit about KDevelop’s future, and what we can do to make it more polished and stable. Stay tuned for this! [Less]
Posted 2 days ago by Dominik Haumann
Thanks to Michal Srb and Sven Brauch for pioneering the work an a new KTextEditor interface that allows applications like Kate, KDevelop, etc. to display inline notes in a text document. As demo, we quickly prototyped one application to display ... [More] colors in CSS documents: Clicking on the color rectangle will launch the color chooser: Choosing a color and clicking OK finally adapts the color in the CSS document: The code for this is just a demo and looks as follows: class NoteProvider : public KTextEditor::InlineNoteProvider { public: QVector<int> inlineNotes(int line) const override { if (line == 1) return { 29 }; if (line == 11) return { 29 }; if (line == 12) return { 29 }; if (line == 13) return { 29 }; return {}; } QSize inlineNoteSize(const KTextEditor::InlineNote& note) const override { return QSize(note.lineHeight(), note.lineHeight()); } void paintInlineNote(const KTextEditor::InlineNote& note, QPainter& painter) const override { const auto line = note.position().line(); const auto color = QColor(note.view()->document()->text({line, 22, line, 29})); painter.setPen(color); painter.setBrush(color.lighter(150)); painter.drawRoundedRect(1, 1, note.width() - 2, note.lineHeight() - 2, 2, 2); } void inlineNoteActivated(const KTextEditor::InlineNote& note, Qt::MouseButtons buttons, const QPoint& globalPos) override { const int line = note.position().line(); const auto oldColor = QColor(note.view()->document()->text({line, 22, line, 29})); const auto newColor = QColorDialog::getColor(oldColor); note.view()->document()->replaceText({line, 22, line, 29}, newColor.name(QColor::HexRgb)); } void inlineNoteFocusInEvent(const KTextEditor::InlineNote& note, const QPoint& globalPos) override {} // unused in this example void inlineNoteFocusOutEvent(const KTextEditor::InlineNote& note) override {} // unused in this example void inlineNoteMouseMoveEvent(const KTextEditor::InlineNote& note, const QPoint& globalPos) override {} // unused in this example }; // later in code: auto provider = new NoteProvider(); view->registerInlineNoteProvider(provider); // final cleanup view->unregisterInlineNoteProvider(provider); As you can see, it’s actually not much code at all: We have to derive a class from KTextEditor::InlineNoteProvider, and then register an instance of our Note Provider in the KTextEditor::View. In a next step, we implement the inlineNotes(), inlineNoteSize(), and the paintInlineNote() functions to get basic visual drawing at the desired location. The above code is just a tech-demo, since it uses hard-coded lines and color positions. Additionally, one can also track mouse events (unused in the example above). On mouse click, we open the QColorDialog to let the user choose a new color. To give more examples of what’s possible, the initial Phabricator review requests contained many other interesting examples (the examples were really implemented). From review request D12662: Kate showing additional information for loops and structs. Or a KDevelop addition that adds a lot of meta information on the current code if desired: KDevelop showing detailed code meta information We believe this addition to the KTextEditor component has a lot of potential for nice features and plugins. Feel free to use this interfaces starting with KDE Frameworks 5.50. Happy coding! A big thanks also goes to this year’s Akademy organizers. Thanks to this event, we could meet up in person and also finalize the InlineNoteInterface, InlineNoteProvider, and InlineNote class to make it ready for public release. This again shows the importance of the yearly KDE conferences since it enables us to significantly push things forward. [Less]
Posted 2 days ago by Boudewijn Rempt (boud)
We left really early this morning on the trains to Würzburg, Hannover, Deventer. I was pretty smart, if I may say so, because I gave ourselves half an hour or more time to change trains. Deutsche Bahn is a wonderful institution, but experience has ... [More] taught me that especially in summertime, 6 minutes are not enough of a safety margin. So we made all our changes, and even had time to lunch in Würzburg. So, yesterday really was the last day of Akademy for Irina and me. And all of that day was taken up with the fundraising training by Florian Engel. And it was worth it! Oh, gosh, wake me up in the middle of the night and ask me whether it was worth it! Practical, to-the-point, flexible, engaging, going deep where we needed that, giving examples from outside of free software so we were all getting new ideas just from those examples. I need to prepare my notes for a discussion during Krita’s Monday meeting, about our September campaign, software platform, and donation page… For the rest, it was great to meet so many people I hadn’t seen for way too long, including Inge Wallin, with whom I, back in the Nokia days, had founded KO GmbH. Or people I work with every day, but had never met, like Ben Cooksley. Productive discussions about things as diverse as debug symbols in appimages or ways to attract and retain new contributors. Meeting and sitting down with Eliakin, my 2017 student, was awesome as well; pity KDE is so busy that we couldn’t spend more time together! I went to Akademy feeling that the relationship been Krita and KDE is kinda difficult. Krita is part of KDE, but at the same time, Krita is getting really big. We’re using up quite a chunk of bandwidth, after plasmashell, we’re the project with the second-most bugs reported per year, and still people working on Krita don’t have much of a tie to KDE, and people working on KDE seldom have much of an idea what’s going on in Krita — other than nodding and telliing me Krita is one of KDE’s flagship projects. Sure it is, and I got very much reassured that we’re not using too large a chunk of KDE’s resources, and could even use more. I’m not sure how to “fix” this, if a fix is possible. If we’d have our Krita sprint during Akademy, I’m sure that would help — but it would also be a pretty improductive sprint for Krita. This still needs mulling over. [Less]
Posted 2 days ago by Stéphane MANKOWSKI (smankowski)
The Skrooge Team announces the release 2.15.0 version of its popular Personal Finances Manager based on KDE Frameworks.  Changelog Correction bug 397018: Check sqlcipher installation (issue detected on GENTOO) Correction: Crash when sort a ... [More] grouped view Correction: Avoid to create 2 categories with the same name under the same category by using drag and drop Correction: Avoid too many computation in SKGAccountObject::getPossibleReconciliations Feature: Addition of a new option to check if import has been broken Feature: More tooltips on "Operations" table Get it, Try it, Love it... Grab Skrooge from your distro's packaging system. If it is not yet included in repositories, go get it from our website, and bug your favorite distro for inclusion. Now, you can try the appimage too ! Get Involved To enhance Skrooge, we need you ! There are many ways you can help us: Submit bug reports Discuss on the KDE forum Contact us, give us your ideas, explain us where we can improve... Can you design good interfaces ? Can you code ? Have webmaster skills ? Are you a billionaire looking for a worthy investment ? We will be very pleased in welcoming you in the skrooge team, contact us ! [Less]
Posted 2 days ago by Christoph Cullmann (cullmann)
The Akademy 2018 ends today. Like each Akademy I attended, it was an interesting experience. As the location switches around each year, so does the set of people attending change every year, too. That is actually nice, as you get always to meet some ... [More] of your old “friends” but additionally new members of the KDE community. I think this kind of “conferences” or “meetings” are an important way to get some more cohesion in the community, which is sometimes a bit lacking between people only meeting online via mail/… Beside the presentation tracks and the e.V. meeting, several of the BoFs did spark my interest. In the KDevelop BoF, Sven talked about what could be done to give the current KDevelop project a bit more focus on the parts it does well to polish them more for a better user experience. The idea is that if you get KDevelop shining even more in the areas it is good at and perhaps cut off some parts that are really given bad impressions, one might attract more people to both use it and contribute. It is still to be discussed if this idea is shared with the other KDevelop contributors. In the kdesrc-build BoF Michael talked about the current state and collected pain points from the audience and potential future extensions. For example an API to allow to build a light-weight GUI tooling around kdesrc-build to ease the entry to the KDE development was one topic of interest. Between the conference/BoF/socializing parts of Akademy, I got plenty of time to finally work again on some KTextEditor/Kate related tasks. With help of Dominik and Volker I got to integrate the KSyntaxHighlighting framework and we even got at least some initial contact with the QtCreator team about the topic of integrating this framework to replace their own implementation of the Kate syntax definition handling. If you experience any issues with the highlighting or folding in the master branch, please file a bug or even better provide some patch on phabricator. In addition some small KTextEditor and Kate bugs got either solved or at least started to be worked on again. Help with any bug fixing is always welcome! As small but perhaps for users important step was to actually link to the new and shiny Windows installers that the Binary Factory for KDE produces. Thanks to the team behind that, once more. Hopefully that will lead to more users and developers for Kate on Windows. Thanks to the organizers to make this Akademy happen and all people that volunteered! Great job! The sponsors are highly appreciated for their contributions, too. So, thanks for all the fish (or Krapfen), lets see how Akademy next year will be :=) [Less]