This week in KDE: KWin gains direct scan-out, and Gwenview gets a lot of love

Plasma 5.21 is almost here, but we’ve already fixed almost all the issues found during the beta and are hard at work on the next big thing! This includes some very juicy morsels…

New Features

You can now open a folder in Kate’s “Project” view by passing it as a command-line parameter (e.g. kate ~/path/to/some/folder) (Alexander Lohnau, Kate 21.04)

In Gwenview, it’s now possible to disable the “bird’s eye view” in the bottom-right corner when zoomed in on an image (Madhav Kanbur, Gwenview 21.04)

in the Plasma Wayland session, KWin now does direct scan-out for fullscreen views (e.g. games), which should improve performance and reduce latency (Xaver Hugl, Plasma 5.22)

Bugfixes & Performance Improvements

Gwenview no longer exhibits a variety of visual artifacts when panning and zooming in on an image when using a High DPI scale factor (Vlad Zahorodnii, Gwenview 20.12.2)

Gwenview’s JPEG quality chooser now works again (Madhav Kanbur, Gwenview 20.12.3)

Gwenview now uses a newer OpenGL drawing view, which makes hardware-accelerated transitions work on Wayland and fixes various other bugs and glitches (Madhav Kanbur, Gwenview 20.12.3)

The new Breeze theme changes no longer make the 3rd-party Cantata app (and potentially others) crash on launch, and also no longer produce a light-colored line directly below the intended dark one that separates a window’s “Tools Area” (titlebar, menubar, toolbar) from the rest of the window (Jan Blackquill, Plasma 5.21)

KRunner’s matching has been restored to its former glory: it no longer prioritizes multi-word sub-string matches over single-word exact matches, and just has more accurate matching in general (Harald Sitter, Plasma 5.21)

Fixed screen rendering for multi-GPU output in the Plasma Wayland session (Xaver Hugl, Plasma 5.21)

Firefox now updates its view correctly in the Plasma Wayland session (Vlad Zahorodnii, Plasma 5.21)

People using weak Intel GPUs no longer suffer diminished performance and smoothness both in general, and specifically with Firefox scrolling (Vlad Zahorodnii, Plasma 5.21)

Menu items in GTK-based apps are no longer too tall (Jan Blackquill, Plasma 5.21)

Files which contain non-ASCII characters can now always be opened (Tusooa Zhu, Frameworks 5.79)

Dolphin no longer crashes when you skip moving or copying multiple files in quick succession during a large move or copy operation (Ahmad Samir, Frameworks 5.79)

KDE apps which were closed while maximized now always re-open maximized, and if they were later un-maximized and closed, they will re-open un-maximized (me: Nate Graham, Frameworks 5.79)

User Interface Improvements

The “Start a Slideshow” menu item in Dolphin’s context menu now only appears if the selection includes more than one image or a folder with more than one image in it (Méven Car, Gwenview 21.04)

You can now mute and unmute the microphone by clicking on its System Tray indicator with a left click, in addition to a middle-click (Alexander Lohnau, Plasma 5.21)

You can now double- or triple-click in a notification to select text as you can in other text views, which is useful for quickly selecting and copying the text of a one-time code sent to you from a website that’s displayed as a notification through the magic of KDE Connect forwarding text messages to your computer (Kai Uwe Broulik, Plasma 5.22)

Notifications for file operations now display the destination as a clickable link, so you can jump right there if you want to (Kai Uwe Broulik, Plasma 5.22):

The System Tray’s animations are now more spatially consistent, swooshing the view in the opposite direction from the icon you clicked on. On a vertical panel, a cross-fade is used instead because a vertical swoosh would look really weird. (Jan Blackquill, Plasma 5.22)

Telegram’s system tray icon now uses correct colors and respects your color scheme (Rocket Aaron, Frameworks 5.79):

The Present Windows effect can now activate when only one window is open (me: Nate Graham, Plasma 5.22)

The Get New [thing] windows now have a streamlined sorting and filtering UI (Dan Leinir Turthra Jensen, Frameworks 5.79):

Ratings for items in the Get New [thing] windows now display a number to correspond to the stars (Dan Leinir Turthra Jensen, Frameworks 5.79):

Oh And One More Thing

KDE Consistency goal leader Niccolò Venerandi has produced a beautiful video showing people the basics of making Plasma themes! Check it out:

How You Can Help

Have a look at https://community.kde.org/Get_Involved to discover ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Finally, consider making a tax-deductible donation to the KDE e.V. foundation.

This week in KDE: Getting ready for Plasma 5.21

We spent the week largely working on polishing up Plasma 5.21 and fixing all the bugs you folks found in the beta! Or internal QA seems to be improving because there don’t seem to be as many this time around, and we’ve already got most of them fixed. Hallelujah! So hopefully 5.21 should be a fairly smooth release. Famous last words, eh?

Bugfixes & Performance Improvements

Fixed a case where Elisa could crash when moving to the next song (Matthieu Gallien, Elisa 20.12.2)

Spectacle no longer secretly stays running in the background if you cancel taking a rectangular region screenshot using the global shortcut (Meta+Shift+PrintScreen by default) (Antonio Prcela, Spectacle 20.12.2)

Pressing the Escape key in Konsole while the search field is visible now only closes it if it’s currently focused (Anton Maminov, Konsole 21.04)

The new Breeze Light color scheme is now applied to new user accounts as expected (David Redondo, Plasma 5.21)

The new System Settings Login page now lets you change the wallpaper as expected and remembers the session you selected when using auto-login (David Redondo, Plasma 5.21)

Wallpapers added to the list of available wallpapers can once again be removed (Cyril Rossi, Plasma 5.21)

Searching on Discover’s “Installed” page once again works (Aleix Pol Gonzalez, Plasma 5.21)

Your old system monitor applets on panels now get correctly migrated to the new ones rather than disappearing (Marco Martin, Plasma 5.21)

Top- and right-positioned panels can now be resized by dragging in the direction you want to resize towards (David Redondo, Plasma 5.21)

Changing your Global Theme to one with a different color scheme now immediately updates the colors of GTK apps too, not just Qt or KDE apps (David Redondo, Plasma 5.21)

System Settings’ home page now lets you use the keyboard to open any of the pages in the “Frequently used” list (me: Nate Graham, Plasma 5.21)

Authentication dialogs now work properly when using the optional Systemd Startup feature (Rex Dieter, Plasma 5.21)

The Plasma Wayland session now opens the correct number of kwin_wayland processes (one, lol) when using the optional Systemd startup feature (David Edmundson, Plasma 5.21)

GTK4 apps no longer still display window shadows when maximized (Jan Blackquill, Plasma 5.21)

There is no longer an odd one-pixel horizontal line at the top of the screen while viewing full-screen content in SMPlayer and LibreOffice and probably various other apps too, when using the new Breeze widget theme (Jan Blackquill, Plasma 5.21)

Task Manager window thumbnails for Firefox are no longer sometimes blank in the Plasma Wayland session (Aleix Pol Gonzalez, Plasma 5.21)

Context menus for panel applets no longer bizarrely appear as a tiny standalone window in the Plasma Wayland session (David Edmundson, Plasma 5.21)

Middle-clicking the desktop to add a sticky mote with the clipboard contents now works again (Marco Martin, Plasma 5.21)

Really long monitor names can no longer blow up the layout of System Settings’ Display Configuration page (me: Nate Graham, Plasma 5.21)

Plasma no longer freezes if you edit the .desktop file of a running program (David Redondo, Frameworks 5.79)

The Baloo file indexing service now properly indexes files in hidden folders if you’ve told it to do so (Stefan Brüns, Frameworks 5.79)

Okular’s search bar once again closes when you hit the Escape key (Albert Astals Cid, Frameworks 5.79)

The icon for Kickoff in Plasma’s “Alternatives” panel now reflects its new appearance (Frameworks 5.79)

User Interface Improvements

Gwenview’s inline video player now displays the current and remaining time next to the timeline (Madhav Kanbur, Gwenview 21.04):

When Kate’s embedded terminal panel is open, it now switches directories properly when a new document is opened (Jan Paul Batrina, Kate 21.04)

Restored the “scroll to switch displayed time zone” feature of the Digital Clock (me: Nate Graham, Plasma 5.21):

The new Kickoff no longer switches between the “Applications” and “Places” tabs on hover by default; you need to click (Noah Davis, Plasma 5.21)

The new Kickoff now has a “Configure” button visible in the main UI (me: Nate Graham, Plasma 5.21):

The Info Center app can now tell you whether you’re using X11 or Wayland (Méven Car, Plasma 5.22)

Desktop widget handles are now much more legible, especially when using a dark color scheme and a dark or visually busy wallpaper (Marco Martin, Plasma 5.22):

Plasma’s Audio Volume applet now remembers the last tab you were looking at even after Plasma or the computer are restarted (Kai Uwe Broulik, Plasma 5.22)

Comboboxes in QML-based apps now change the displayed item at an appropriate speed when scrolling over them using a touchpad (me: Nate Graham, Frameworks 5.79)

System Settings pages with grid views now adhere to the standard appearance style for hovered grid items (me: Nate Graham, Frameworks 5.79)

How You Can Help

Have a look at https://community.kde.org/Get_Involved to discover ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Finally, consider making a tax-deductible donation to the KDE e.V. foundation.

On Stewardship

What’s going on with GameStop right now got me thinking about the relevance to what we do in KDE.

For those not closely following it, here’s what’s happening: a small army of individual investors has purchased as many shares of the GameStop company as possible, calling the bluff of several large hedge funds that bet against GameStop by selling borrowed shares, mistakenly borrowing more shares than actually exist. Oops. A lot of these individual investors used a popular trading app named Robinhood, which it turns out is controlled by one of the companies betting against GameStop. So yesterday, Robinhood prohibited buying more GameStop shares, only selling. This drove the price lower and allowed some of the hedge funds to get out at a lower price than they otherwise would have had to accept, and reduced the value of Robinhood’s own users’ GameStop shares.

The people using Robinhood–whose name seems pretty ironic in retrospect–believed they could trust its owners to be good stewards of their money and investment desires, but this turned out to be false: when the owners were caught between serving their users and serving themselves, they chose the latter.

It got me thinking about platform stewardship. When things are going well, it’s easy to be a good steward. The challenge arrives when your own interests, money, or feelings are imperiled by doing the right thing for the people counting on your wise maintainership of the platform. If you let your own desires get in the way, people will start to distrust you and leave your platform.

In KDE, we also have a platform that people depend on, and trust us to be good stewards of. By and large we don’t have the same potential financial conflicts of interest, but others are possible when it comes to our feelings and other personal interests: we might want see ourselves as kings of a little digital kingdom, or want the software to reflect our own preferences rather than those of our users, or whatever.

In the interest of remaining wise stewards of our platform, we must always resist these desires. Not only are they selfish, but they are ultimately short-sighted and would lead to us losing users and credibility. By and large I think KDE community members already do a great job of this! And that’s a good thing, because the bigger we grow, the more important we will become, and the more frequent these potential conflicts of interest will become. In the face of these challenges, we must retain our culture of stewardship, and I feel fairly confident that we will!

Full disclosure: I own a symbolic one share of GameStop. It was not purchased using Robinhood. 🙂

This week in KDE: the Plasma 5.21 beta is here!

Well folks, you finally have a chance to test out Plasma 5.21, in beta form! Please do install it and find all the bugs we missed. Bug reports have already started pouring in, and we’ll fix them as fast as we can in the next month. 🙂

But check out what else we did this week:

New Features

Kate now has a searchable HUD-style command palette that lets you trigger menu items with super speed! It’s activated using the Ctrl+Alt+I shortcut, and we’re investigating adding it to other KDE apps as well in the form of a re-usable framework component. (Waqar Ahmed, Kate 21.04):

Bugfixes & Performance Improvements

Spectacle is once again able to take rectangular region screenshots on triple-screen setups (Franz Baumgärtner, Spectacle 20.12.2)

Okular’s Open dialog once again defaults to “All files” in its file type filter when run on non-Plasma desktops (Albert Astals Cid, Okular 20.12.2)

Dolphin now correctly reports the number of files present on other disks not using standard Linux filesystems, such as NTFS (Ilia Kats, Dolphin 20.12.2)

The “Add Network Folder” action is once again visible in Dolphin for people using Frameworks 5.78 or later–albeit it now lives in the toolbar, rather than in the view (Norbert Preining, Dolphin 20.12.2)

When you turn off Konsole’s “Remember window size” feature, that now works again (me: Nate Graham, Konsole 20.12.2)

The System Settings Fonts page no longer shows blank previews for the anti-aliasing styles when using the proprietary Nvidia driver (Yaroslav Sidlovsky, Plasma 5.21)

Discover now handles the situation where you’re installing an add-on that requires you to select a specific file from among a set of options, just like the standalone “get new [thing]” dialog (Dan Leinir Turthra Jensen, Plasma 5.21)

Plasma’s support for the Pulse Connect Secure VPN type now works (David Redondo, Plasma 5.21)

Discover is now a bit faster to launch and uses less memory (still a lot, but less than before at least) (Aleix Pol Gonzalez, Plasma 5.21)

It’s now possible to unset global shortcuts set for activating Plasma applets (David Redondo, Plasma 5.21)

While the “Get new Plasma Widgets” window is open, attempting to open it again now re-focuses the existing one rather than opening a second one (Willyanto, Plasma 5.21)

Fixed an uncommon crash in System Settings’ Shortcuts page (David Redondo, Plasma 5.21)

When waking up a sleeping laptop that has a touchscreen, KWin no longer pretends that a finger is being held down on the touchscreen until you really do touch it at least once yourself (Xaver Hugl, Plasma 5.21)

In the Plasma Wayland session, windows no longer try to snap to OSDs and notifications (Vlad Zahorodnii, Plasma 5.21)

The System Tray’s back button now reverses itself correctly when using an RTL language (Jan Blackquill, Plasma 5.21)

Filenames in the Breeze-themed GTK folder dialog are now readable, especially when using a dark color scheme (Jan Blackquill, Plasma 5.21)

Undoing the deletion of a file or folder can no longer unexpectedly overwrite an existing item that has the same name as the undeleted item (David Faure, Frameworks 5.79)

System Settings no longer crashes when you navigate to the Screen Locking page’s “Appearance” sub-page and then navigate away (Nicolas Fella, Frameworks 5.79)

Okular and potentially other KDE apps too can once again open files accessed from a web browser (i.e. https://www.example.org/my_awesome_file.pdf) using their “Open” dialogs (Albert Astals Cid, Frameworks 5.79)

When you open a file accessed from a web browser in a KDE app and then show the Open dialog again, it no longer tries to show you the file’s parent website (Albert Astals Cid, Frameworks 5.79)

System Tray applets that feature expanding lists of actions no longer sometimes have some of the actions clipped out of the view when using non-default fonts or font sizes (me: Nate Graham, Frameworks 5.79)

User Interface Improvements

Dolphin’s “Copy file path” action has had its shortcut changed to Ctrl+Alt+C so as not to conflict with the “Copy” action in the embedded terminal panel, whose shortcut is Ctrl+Shift+C (Someone going by the pseudonym “The Imp”, Dolphin 20.12.2)

Gwenview’s titlebar now shows the path to the currently-viewed location while in Browse mode (Antonio Prcela, Gwenview 21.04)

When using the systemwide Double-Click mode, you can now rename files on the desktop by clicking on the label of an already-selected item, just like in Dolphin (me: Nate Graham, Plasma 5.21)

Plasma no longer ever sends a pointless notification when you create a link to a file somewhere else (Nicolas Fella, Plasma 5.21)

Rotated widgets are no longer jaggy and aliased (David Edmundson, Plasma 5.21):

The Edit Mode toolbar now includes a link to the System Settings Global Themes page (someone going by the pseudonym “Wael CH”, Plasma 5.21):

System Settings’ Desktop Effects and Background Services pages now support the “Highlight changed settings” feature (Cyril Rossi, Plasma 5.21)

The icons used for screen rotation in System Settings’ Display & Monitor page are now clearer (someone going by the pseudonym “Wael CH”, Plasma 5.21):

Breeze theme monochrome icons now stay monochrome when using scale factors greater than 200% (Kai Uwe Broulik, Frameworks 5.79)

How You Can Help

Have a look at https://community.kde.org/Get_Involved to discover ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Finally, consider making a tax-deductible donation to the KDE e.V. foundation.

This week in KDE: text reflow in Konsole!

This week a huge new feature landed in Konsole: it now reflows the text when you resize the window! This feature can be turned off if you don’t like it, but comes on by default. It works really well. Thanks very much to Carlos Alves and Tomaz Canabrava for this work! It will be released in Konsole 21.04.

Other New Features

Gwenview now lets you optionally use a solid black color while in full screen view (Antonio Prcela, Gwenview 21.04):

Dolphin now lets you configure whether newly-opened tabs go at the end of the tab bar, or after the current tab (Anthony Fieroni, Dolphin 21.04):

Ark now supports ARJ archives (Natsumi Higa, Ark 21.04)

Bugfixes & Performance Improvements

Spectacle now lets you change the default screenshot file format when using a non-English language (Nicolas Fella, Spectacle 20.12.2)

Elisa no longer crashes when you enqueue a song accessed using the filesystem browser view (Matthieu Gallien, Elisa 20.12.2)

Adding radio streams in Elisa now works again (Sven Marquardt, Elisa 20.12.2)

Elisa’s “Show current track” button once again works (me: Nate Graham, Elisa 20.12.2)

The “Apply” button of Elisa’s settings window now activates and deactivates at the correct times (Matthieu Gallien, Elisa 21.04)

When using a vertical panel, the date displayed below the clock no longer sometimes becomes huge (Marco Martin, Plasma 5.21)

Plasma no longer freezes when an app sends many notifications in quick succession (Kai Uwe Broulik, Plasma 5.21)

Fixed various issues with Breeze theme context menu borders sometimes being invisible or pure black (David Redondo, Plasma 5.21)

The Global Menu applet now updates properly when focus is changed to or from a GTK app (David Edmundson, Plasma 5.21)

When pulling up the virtual keyboard on the login or lock screen, the password field now remains focused, so the characters you type no longer disappear into the void without manually re-focusing it first (me: Nate Graham, Plasma 5.21)

After enabling any calendar plugins in the Digital Clock, the calendar panel now appears instantly, rather than requiring Plasma to be restarted first (Nicolas Fella, Plasma 5.21)

Discover’s sidebar header no longer sometimes overlaps the contents after resizing the window (Marco Martin, Plasma 5.21)

Fixed a case where a newly-created panel could be placed on the wrong screen in a multi-screen setup (Xaver Hugl, Plasma 5.21)

KRunner once again parses and interprets hexadecimal input correctly (Alexander Lohnau, Plasma 5.21)

Country code labels in System Settings’ Keyboard page are now legible when using a light color scheme with a Dark Plasma theme (or the reverse) (me: Nate Graham, Plasma 5.21)

Aborting a change in System Setting’ Users page by canceling the authentication dialog no longer causes the changes to be applied anyway (Nicolas Fella, Plasma 5.21)

KDE Connect no longer sometimes crashes when it gets spammed with notifications (Nicolas Fella, Frameworks 5.79)

Kirigami icons in apps now consume a bit less memory, which will appreciably reduce memory usage for apps that have a lot of icons (David Edmundson, Frameworks 5.79)

User Interface Improvements

Dolphin now lets you decompress multiple archive files at a time via the context menu item (Elvis Angelaccio, Ark 20.12.2)

Ark’s preview window now closes when you hit the default “close window” shortcut (typically Ctrl+W) (Méven Car, Ark 21.04)

Ctrl+clicking on a Places panel item in Dolphin now opens it in a new tab (Kai Uwe Broulik, Dolphin 21.04)

System Settings’ Login Screen (SDDM) page has been rewritten which fixes a bunch of bugs and makes it look nicer and more consistent (David Redondo, Plasma 5.21):

It’s now possible to drag QML-based apps from empty areas of their headers and backgrounds, just like QWidgets-based apps (Marco Martin, Frameworks 5.79 with Plasma 5.21)

Plasma’s “microphone is being used” indicator now tells you which microphone is being used in its tooltip (Kai Uwe Broulik, Plasma 5.21)

System Settings’ Default Applications page now supports the “Highlight default settings” feature (Cyril Rossi, Plasma 5.21)

The Global Menu applet now respects Fitts’ law by allowing you to slide your cursor from one menu to another one on the row of pixels that is touching the screen edge (Jan Blackquill, Plasma 5.21)

System Settings’ Splash Screen page now lives in the Appearance category (me: Nate Graham, Plasma 5.21):

The “Get new Plasma Widgets” dialog now uses the much nicer new-style version (Alexander Lohnau, Plasma 5.21):

KDE apps no longer show Docker volumes in their Places panels (Méven Car, Frameworks 5.79)

How You Can Help

Have a look at https://community.kde.org/Get_Involved to discover ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Finally, consider making a tax-deductible donation to the KDE e.V. foundation.

This week in KDE: new KWin compositing, new Kickoff, new recording level visualization!

This week KWin’s compositing code was almost totally rewritten! It should broadly reduce latency throughout all compositing operations, and also adds a user-facing control in the System Settings Compositing page so people can choose for themselves whether they prefer lower latency or smoother animations. In addition, it brings support for mixed-refresh-rate display setups on Wayland, e.g. one 144Hz screen and one 60Hz screen! This very exciting work was completed by Vlad Zahorodnii and will land in Plasma 5.21.

But that’s not all: Plasma also got a brand new Kickoff menu, which was rewritten from the ground up and fixes more than two thirds of the open issues in the bug tracker! It features a double-pane UI with better keyboard, mouse, touch, and accessibility, RTL support, an alphabetical “All Applications” view, a grid-style favorites view, power actions visible by default with labels, and much more. Here it is:

I’d like to offer a big thanks to Mikel Johnson for this excellent contribution, which will also land in Plasma 5.21. People who liked the old Kickoff can download it from store.kde.org using the “Get new widgets” button in the “Add Widgets” panel. Search for “Legacy Kickoff”.

But there’s one more really big cool thing: The Plasma Audio Volume applet now has a little visualizer for the current recording level and output volume!

Gone are the days of being embarrassed during a meeting because your microphone is muted or way too sensitive. This lovely improvement was contributed by David Edmundson and David Redondo, and also lands in Plasma 5.21.

But that’s not all:

Other New Features

Konsole now lets you select which text editor is opened when you Ctrl+click on a text file to open it (Ahmad Samir, Konsole 21.04):

Bugfixes & Performance Improvements

Kate can now open files beginning with a colon from the command line (Ahmad Samir, Kate 21.04)

Right-clicking on an ISO image in Dolphin no longer imposes such a long delay before the context menu appears (Kai Uwe Broulik, Dolphin 21.04)

Dolphin’s in-toolbar breadcrumbs bar/URL navigator is now sized correctly the first time you open Dolphin (Felix Ernst, Dolphin 21.04)

Filelight now shows the correct amount of free space on a disk (Jakob Erzar, Filelight 21.04)

Filelight’s tooltip is now positioned correctly in multi-screen setups (Teemu Patana, Filelight 21.04)

The screen locker no longer sometimes consumes 100% of the CPU’s resources (David Edmundson, Plasma 5.18.7 and 5.21)

The Folder View applet now has a sane layout when used on a vertical panel greater than 50px thick (me: Nate Graham, Plasma 5.18.7 and 5.21)

Fixed one of the most common ways that Plasma could crash when interacting with screen-related settings (David Edmundson, Plasma 5.21)

When Discover and the Emoji picker are already open but unfocused, activating them via their System Tray icons or global shortcuts now raise the existing windows properly (David Edmundson and me: Nate Graham, Plasma 5.21)

Fixed the Network Speed Widget for people who were seeing that it didn’t work properly for them some of the time (David Redondo, Plasma 5.21)

The “Get new [thing]” dialog now shows recently-installed content properly when you activate its “Installed” filter (Alexander Lohnau, Frameworks 5.79)

User Interface Improvements

Opening and closing split views in Dolphin is now animated (Felix Ernst, Dolphin 21.04):

Kate’s “Quick Open” panel now supports fuzzy matching (Waqar Ahmed, Kate 21.04)

Notifications about items moved to the trash no longer give you the option to open the item, because that’s just silly (Kai Uwe Broulik, Plasma 5.21)

After you click on the “Connect” button in the Plasma network list, the inline password field no longer runs away from you if the list is re-ordered (Bharadwaj Raju, Plasma 5.21)

System Settings’ KWin Scripts and Accessibility pages now respect the “Highlight changed settings” feature (Cyril Rossi, Plasma 5.21)

The Maximize and Fullscreen animations now use the standard animation easing curve (in/out cubic) (Alex Rosca, Plasma 5.21):

When setting up a KWin window rule, the default value for each newly-added property is now “Apply initially”, not “Do not affect” (Michael Tunnell, Plasma 5.21)

The clipboard applet now closes when you select a history entry with the keyboard, same as when you do so using the mouse (me: Nate Graham, Plasma 5.21)

Dolphin and other KDE apps now display thumbnail previews for ancient .ANI animated windows cursor files (Kai Uwe Broulik, Frameworks 5.79)

How You Can Help

Have a look at https://community.kde.org/Get_Involved to discover ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Finally, consider making a tax-deductible donation to the KDE e.V. foundation.

This week in KDE: Happy new year!

KDE people mostly spent the time on a well-deserved break this week, but we still managed to get some things done. 🙂 Check it out:

New Features

Kate’s CTags plugin now includes a “Go to symbol” feature (Waqar Ahmed, Kate 21.04)

Dolphin now lets you modify the entries in the context menu so you can remove items you never ever use (Duong Do Minh Chau, Dolphin 21.04):

Bugfixes & Performance Improvements

Okular now more reliably recognizes Markdown files for what they are so it can render them correctly (Albert Astals Cid, Okular 20.12.1)

Further improved the speed of Kate’s search feature, nearly doubling it for the case of very long files (Waqar Ahmed, Kate 21.04)

Konsole’s terminal bell feature now triggers the system bell too (Ahmad Samir, Konsole 21.04)

KRunner’s windows runner (which finds open windows) now has tiny little thumbnail images again (Kai Uwe Broulik, Plasma 5.21)

KRunner’s history view now works properly with the mouse (Alexander Lohnau, Plasma 5.21)

The progress bar that appears in a “file is being downloaded” notification now renders correctly in all circumstances (Kai Uwe Broulik, Frameworks 5.78)

Mnemonics (those little horizontal lines that appear below letters when you hold down the alt key) now work for Plasma buttons and tabs (David Edmundson, Frameworks 5.78)

User Interface Improvements

Okular’s settings window has been modernized to use the common FormLayout style (David Hurka, Okular 21.04):

Dolphin now makes it a bit more obvious how you connect to a remote server whose URL you know when you click on the Network item in the Places panel (me: Nate Graham, Dolphin 21.04):

You can now middle-click or scroll on the entire selection area for System Tray icons, rather than just on the little icon itself (Konrad Materka, Plasma 5.21)

When searching for power-related actions in KRunner (e.g. “Shut down,” “restart,” etc), KRunner now matches partial strings and finds the actions by their English words even when your system language is set to something else (Alexander Lohnau, Plasma 5.21)

Kate and other KTextEditor-based apps now show the dragged text while it’s being dragged (Waqar Ahmed, Frameworks 5.78)

How You Can Help

Have a look at https://community.kde.org/Get_Involved to discover ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Finally, consider making a tax-deductible donation to the KDE e.V. foundation.

KDE roadmap for 2021

Just like last year, here are the things I expect will get done in 2021:

Leftovers from last year

We’ll finally finish up polkit-in-kio, which got closer in 2020 but didn’t quite make it. 2021 will be the year! We will probably also get power/session actions in the lock screen as this feature is necessary for Plasma Mobile, and making it work in the Plasma Desktop session as well will be fairly simple. Per-screen scaling on X11 seems unlikely given our renewed focus on Wayland, and on that subject…

Production-ready Plasma Wayland session

I’ll be honest: before 2020 the Plasma Wayland session felt like a mess to me. Nothing worked properly. But all of this changed in 2020: suddenly things started working properly. I expect the trend of serious, concentrated Wayland work to continue in 2021, and finally make Plasma Wayland session usable for an increasing number of people’s production workflows.

Fingerprint support throughout the stack

This is already in progress! It’s a lot of work because support needs to be added in SDDM, the lock screen, KAuth, Polkit… There are a lot of moving pieces to put together. I think 2021 will be the year that it finally happens!

Finish up Breeze Evolution

This work is in progress and about half of it has already been merged, to be released in Plasma 5.21. I expect the rest will land in Plasma 5.22 and possible 5.23 later in the year. At that point, the project will be complete and our apps will look super modern and awesome!

Kickoff replacement

A super-fantastic replacement for the venerable Kickoff application launcher has been in heavy development throughout 2020, according to the spec that VDG wrote in 2019. It’s almost done, and I expect it to be merged soon and be released in Plasma 5.21.

Reflowing text in Konsole

This is already in progress and very close to being done! 2021 will be the year that Konsole’s window finally re-flows the text when you resize it.


I feel like we’re getting really really close to the goal of having a mainstream-hardware-ready software stack. In some ways we’re already there, especially when you compare our stuff to some of the weaker offerings in the market. We need to keep plugging away, and start thinking about the next steps: more hardware partnerships, closer coordination with distros, and more engineering effort for our own Neon distro. 2021 is going to be a great year for KDE and KDE users! So what are you waiting for? Get involved! 🙂

Highlights from 2020

2020 was not an amazing year for most of us, but it sure was for KDE and people who use KDE software! Despite the inability to travel and meet for sprints, conferences, and Akademy in person, we kept busy.

I’d like to highlight some of my favorite improvements throughout KDE! Keep in mind this is not even a small fraction of everything that went on. To keep this post from ballooning a hundred pages long, I’ve had to leave out many smaller features, all of the performance and bugfixing work, and tons of KDE apps that I don’t closely follow, including big important ones like Krita, Kdenlive, Digikam, and GCompris. You can find more news at https://planet.kde.org/.

Also, those of you who like podcasts or are audio learners can listen to a condensed version of this post in the Linux Unplugged podcast #385, where I spoke a bit about some of these things:

Roadmap items

From last year’s proposed roadmap, we got FUSE mounts, improved Samba share discovery, automatic screen rotation, and Breeze Evolution visual overhaul work starting to land!

We did not get PolKit privilege escalation, new photo wallpapers, per-screen scale factors on X11, or inertial scrolling in Plasma and QML apps, or power/session actions on the lock screen. Some of these will be punted to next year. More on that tomorrow!

Hardware Partnerships

We created a new page on the kde.org website showcasing the ways that you can get Plasma pre-installed on hardware: https://kde.org/hardware/. It showcases two very exciting new devices:

Wayland

This year massive progress was made on the Plasma Wayland session, including screencasting support, shared clipboard support in Klipper, support for middle-click-paste, support for multi-GPU output, support for thew KRunner windows runner, Task Manager Window thumbnails, screen rotation, High DPI screenshot and timer support in Spectacle, the virtual keyboard now works for GTK apps, configurable mouse and touchpad scroll speed, and global menu support. Phew! You can read more about it on Aleix’s blog: https://www.proli.net/2020/12/30/my-2020-with-kwin-wayland/

Websites

The following websites were created or overhauled to modern standards and content:

https://akademy.kde.org, https://api.kde.org, https://apps.kde.org, https://calligra.org, https://dot.kde.org, https://download.kde.org, https://elisa.kde.org, https://ev.kde.org, https://juk.kde.org, https://kdeconnect.kde.org, https://kde.org, https://kde.org/for/kids, https://kde.slimbook.org, https://kid3.kde.org, https://kmymoney.org, https://konversation.kde.org, https://my.kde.org, https://planet.kde.org, https://relate.kde.org, https://season.kde.org, https://subtitlecomposer.kde.org

Check ’em out; they look great!

Akademy

We had our first virtual Akademy, and it went very well thanks to KDE’s talented sysadmins! You can watch the video recordings of all the talks, workshops, and other content at https://www.youtube.com/c/KdeOrg/videos.

Infrastructure

We began the process of migrating to GitLab at https://invent.kde.org! Thus far we are using GitLab for code review, and are working on migrating the continuous integration system next. After that will be Phabricator Tasks, and then hopefully bug reporting (a man can dream).

We also began the process of migrating to a totally new single sign-on system: https://my.kde.org. Read all about it here: https://carlschwan.eu/2020/10/03/announcing-mykde/

Plasma

We kicked off the year with the Plasma 5.18 Long Term Support version, which was received very well, and is shipped in Kubuntu 20.04 and openSUSE Leap 15.2.

It was a big year for Plasma and Breeze app styling. The overhauled visuals we’ve been working on for years started landing, including a defined header area in apps and plasma applets, an updated Breeze Light color scheme that’s now used by default, a new more compact OSD style, and a new optional hybrid dark/light theme. To top it all off, Plasma now uses an Icons-Only Task Manager by default.

We also did a massive overhaul of the System tray from top to bottom: all of the applets were polished both visually and functionally, most bugs were fixed, various new features were added, and the whole thing was made more cohesive overall.

The Digital Clock also received a lot of attention, gaining a fancy new popup that shows timezones, an overhauled page for adding, removing, and switching timezones, and the ability to set the first day of the week. It also shows the date in its panel version by default.

The rest of Plasma gained many new features including a fancy new “Get New [Thing]” dialog, a new System Tray applet for controlling Night Color, new System Monitor applets, a new system monitoring app, a new inline character palette for entering alternative characters, the ability to set a maximum charge limit for laptop hardware that supports it (like Lenovo ThinkPads), and the ability to reply to notifications inline, in apps that support it (like Telegram).

On the backend side, Plasma now has full touch support for Folder View/desktop items, and optional Systemd integration, which improves startup times and gains the ability to group processes by app.

Plasma Mobile also had a banner year, attracting a number of new developers and undergoing heavy development work, culminating in the PinePhone product running Plasma Mobile!

System Settings & Info Center

System Settings and Info Center (which now uses the System Settings app as its backend, sharing code) gained various new features, including automatically syncing relevant system-level Qt/KDE app settings to GTK apps, a “Highlight Changed Settings” feature, the ability to download new KRunner Runners from store.kde.org, a new S.M.A.R.T. Monitoring page and notification system, a new Network Interfaces page, a completely overhauled Samba page. We also ported many System Settings pages to QML. This makes those pages usable in Plasma Mobile and provides an opportunity to modernize the UX. Ported pages include Accessibility, Autostart, Background Services, Bluetooth, Desktop Session, Screen Locking, Shortcuts, Users, and Window Rules.

Those orange dots show which pages have any settings that have been changed from their default settings

KWin

In addition to the aforementioned Wayland work–almost all of which heavily involved KWin–our venerable window manager gained support for clipped subsurfaces and the ability to tile windows to a corner by combining the side tiling shortcuts. We also changed the window dragging shortcut to Meta+Drag to avoid conflicts with popular apps, and made minimized windows no longer automatically move to the end of the Task Switcher. All of this in additions to tons and tons of bugfixes and performance work.

Applications & Frameworks

All KDE apps now support AV1 images, support copy-on-write support when using the BTRFS file system, and remember the positions of their windows, including on a per-screen-arrangement basis.

Dolphin and file management

It was a big year for interacting with remote files. First, we released kio-fuse, which makes the experience of dealing with remote files a hundred times better. We integrated WS-DISCOVERY support which makes Dolphin able to locate modern Samba shares, and overhauled the Samba share creator to work much better. Dolphin also gained full touch support, a plugin to mount ISO images, the ability to display real on-disk sizes for folders in Details view. Dolphin also now displays its URL navigator/breadcrumbs bar in the toolbar by default, and remembers its prior window state by default.

Elisa

Elisa gained many features including the ability to edit song metadata, change the sort criteria, remain playing in the background with only a System Tray item visible, repeat one track, display the contents of a category in the sidebar, and override the systemwide color scheme. Finally, the “Previous track” action goes back to the beginning of the current track unless playback is within the first 5 seconds.

Kate

Kate turned 20! To celebrate, its tab bar now has a standard appearance and new tabs are opened on the right. And the app–as well as other text editor views based on the KTextEditor framework–now fully respect your systemwide color scheme! You can read more about it on the Kate blog here: https://kate-editor.org/post/2020/2020-12-31-kate-in-2020/

Konsole

Konsole gained a variety of useful new features such as inline previews for images and HTML color codes that you hover the cursor over, the ability to assign custom colors to tabs, and a new on-by-default toolbar. Also, paths in grep output are now clickable to jump directly to that line of code in the file!

Okular

Okular gained the ability to digitally sign documents and now offers (optional) smooth scrolling, which was a bit rocky at first, but we fixed it. 🙂 The Annotations feature was totally overhauled with a new toolbar that makes it easier to change the parameters of an annotation, and and there were various UI improvements to the sidebar and the default toolbar. Okular also adopted date-based versioning, matching most other KDE apps using the release service. 🙂

Spectacle

In addition to the aforementioned Wayland improvements, Spectacle gained the ability to annotate newly-taken screenshots!

How very meta

And remember, this is just a subset of a subset! KDE has over a hundred other apps which you can find out about at https://kde.org/applications. And I didn’t even mention some of the amazing stuff that’s still under development but not yet released, like a firewall control UI for Plasma and totally re-worked compositing in KWin which will result in support >60hz screen refresh rates and mixed refresh rates in multi-screen setups. Stay tuned for more information about that stuff and more. 🙂

How KDE can transcend the cycle of Geeks, Mops, and Sociopaths

A few years ago I read a fascinating article about the cycle of how subcultures grow, mature, and die. The whole thing is worth a read (as well as the whole site), but here’s the abridged version:

  1. Creators invent something new and cool, attracting fanatics who validate them and help spread it around. These people are the “Geeks.” I would guess that most current users of KDE software are in or near this group.
  2. The coolness attracts “Mops”–normal people who want to enjoy the cool thing with minimal effort or investment. They dilute the coolness by demanding that it be simplified, sanitized, and mainstreamed for them. In KDE terms, these people would be our non-technical friends and relatives.
  3. At this point, the Geeks may start to quit because the coolness has been destroyed by the Mops. However sometimes the Geeks realize that Mops are key to expanding the cool thing even further.
  4. At this point Sociopaths will appear–people who participate in a system for the money or power games. They figure out how to monetize the Mops, allowing some Geeks to go pro and create the cool thing full time.
  5. Sociopaths increasingly exploit both the Geeks and the Mops, because they’re in it for the money and social power.
  6. The Geeks increasingly burn out because they’re spending their time unpleasantly interacting with exploitative Sociopaths and compromising their original vision to placate demanding Mops who provide their income.

I’m old enough that I’ve started to notice this cycle play out in various hobbies, subcultures, and even commercial companies I’ve been involved with: they start out small and cool, but along the way, mainstreaming and commercialization seem to corrupt everything.

I’ve also noticed that many FOSS projects seem to avoid this cycle and the dark fate at the end. Not all do, but some seem to. Why? How?

How FOSS helps

In the FOSS world, Mops are not easily monetized. The product is given away for free, after all! Only mildly Geeky Mops will be attracted, and the more entitled mainstream Mops can be told to pound sand when they start to demand more. They didn’t pay anything, so they’re not entitled to anything.

As a result, many FOSS projects are able to preserve their stable niche status because they explicitly reject a strong Mop appeal, limiting the attractiveness for Sociopaths. To tie this fairly theoretical discussion back to the software world a bit, Arch Linux is a good example: not having an installer acts as a gate to keep out low-investment Mops, ensuring that the project remains safely in the hands of the Geeks.

However this kind of gatekeeping–intentional or not–has a drawback: if the gate is too strong, the project may shrink over time as the original Geeks get bored or driven away by internal politics. Because the pool of Geeks is fairly limited, Geek-only growth largely involves poaching from other Geek projects; it’s a zero sum game.


What to do? Is it really a matter of keeping out the Mops and staying small, or letting them in and burning out after growing huge? And how am I able to reconcile knowledge of this cycle with my stated goal to get KDE Plasma onto every computing device on planet Earth? Earthlings are mostly Mops, after all.

How KDE can do it

Well first of all, I acknowledge that my goal is more aspirational than realistic. 🙂 Better to shoot for the moon and fall short, I think. I’d be pretty happy if we get Plasma to 15% global market share. That’s enough to be a major player with a direct and ongoing positive impact on human civilization.

Anyway, here’s how I think KDE can avoid the cycle, and grow powerful without being corrupted:

Attract all the Geeks

You may notice how many sysadmins, software devs, and general nerds have Apple computers outside of the FOSS world. In the early 2000s, Apple attracted a huge number of Geeks by pairing support for power-user workflows with an attractive user interface and high reliability. This was the “It Just Works” factor, for people who were doing work. It allowed Apple’s ecosystem to maintain a favorable Geek-to-Mop ratio, at least until the iPhone took off. KDE can realistically follow this path as well. I myself am a former Apple nerd. We can convert them. And the more Geeks KDE has, the more engineering talent it will accumulate, and the more Mops it can safely support.

Minimize the project’s reliance on Mop money

This avoids creating a financial incentive to dilute the product, and it reduces the project’s appeal to Sociopaths (at least, the ones who are attracted to money). KDE already has this pretty well covered, because we don’t sell products directly to consumers for money–with the exception of Krita on the Windows store (to my knowledge), and even then there are simple ways to get Krita for free if you want. The existence of a free version is a pressure valve.

Preserve the KDE community’s gravitational center for development

Today KDE benefits from outside companies paying people to work on KDE who are benevolent: Blue Systems (my employer), Enioka Haute Couture, KDAB, SUSE, the city of Munich, and various others. But it won’t always be this way as KDE rises in importance.

Large companies with little exposure to the FOSS world, but who use or sell products with KDE software, will want to hire their own engineers to contribute to KDE so they don’t feel like they’re shut out of the development of a product that significantly affects them. If enough of this happens outside of KDE itself, we run the risk of the project being taken over by sheer weight of outside contributions by large companies.

This is why I feel so strongly that the KDE e.V. should start hiring community members for technical roles. With the KDE community itself clearly in charge of the gravitational center of paid engineering, these outside companies would find it more convenient to simply pay money to the e.V. to strengthen those development efforts, join a sort of technical advisory board, or pay for priority access to engineering resources to fix bugs affecting them (not features, only bugs). These could give those companies the the “seat at the table” that they’re looking for while keeping technical decision-making firmly in the hands of the community. The project would be able to remain independent more easily.

It’s not a problem we urgently need to solve right now, but it will be in the future if we’re as successful as I want us to be. I think it behooves us to do it now rather than later.

Hire Geeks, not Mops

Whenever someone is paid to work on KDE stuff–either by the KDE e.V. or anyone else–always prioritize hiring KDE community members over outsiders. There’s always the risk that the outsider is a Mop who just wants a paycheck rather that someone who truly believes in KDE. Those with the privilege of being paid to work on KDE stuff should be people who go above and beyond because they love it.

Foster a culture of resistance to Sociopathy

KDE will probably never be an institution where you can get rich quick, and I see this as a good thing. But not all Sociopaths are in it for the money; some crave power. An important project like KDE will still hold appeal for the type of Sociopath who wants to push everyone around as the king of a little digital fiefdom. We need to keep these people out.

Unfortunately, while Geeks are generally good at noticing when Sociopaths show up, they are generally terrible at kicking them out. Geeks can be conflict-averse, or believe that the Sociopaths can be reasoned with, reformed, or safely tolerated because they do some good work. They cannot be.

KDE needs to maintain and expand a culture of resistance to Sociopathy by teaching its members to harden themselves against Sociopaths and and use some of their own tactics against them when they show up. Nobody should be the king of KDE. KDE should not have a king! Central leadership is a risk factor, as I blogged about earlier.

What it all looks like

KDE will attract as many Geeks as possible through our continued commitment to technical excellence and supporting power user workflows in our software. We minimize the risk of demanding Mops burning everyone out by not selling anything to them directly and maintaining a favorable Geek:Mop ratio through our attraction of lots of Geeks. We start paying for engineering talent, but we hire insider Geeks, not outsider Mops. And we do it within KDE itself. Then we remain vigilant for Sociopaths craving power, and we kick them out so that KDE can remain a safe place for the Geeks.

So who’s ready to take over the world with love and positivity and user-empowering high quality software?