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?

This week in KDE: kio-fuse and NeoChat rise

Merry Christmas everyone! We have some nice holiday presents for you:

First of all, KDE’s FUSE-based remote location mounter kio-fuse got its first stable release, which means it can now be pre-installed by distros.

That’s not all: we have a new KDE Matrix-based chat app: NeoChat! This app is a fork of Spectral, which a few months ago appeared to have been abandoned by its developer. Carl Schwan and Tobias Fella decided to resurrect it as a KDE project, and they’ve done a smashing job bringing it into the fold. In addition to being a very nice desktop app, it also runs on Plasma mobile and there are early Android builds. I’ve been using it for the last month, and even in an early beta state, I already like it better than Element and every other Matrix client I’ve tried. Check out the official release announcement here: https://carlschwan.eu/2020/12/23/announcing-neochat-1.0-the-kde-matrix-client/

But wait, there’s more:

New Features

Kate now has a new off-by-default but very cool plugin that will visualize colors for various textual color codes, and let you edit them graphically using the standard systemwide color picker! (Jan Paul Batrina, Kate 21.04):

Dolphin now lets you set its “homepage” to non-local locations including arbitrary KIOSlaves, such as remote://, baloosearch:// and so on (Derek Christ, Dolphin 21.04)

KRunner’s history is now activity-aware by default! This means for example that there will no longer be a data leak if you use an activity with history turned off (Alexander Lohnau, Plasma 5.21)

You can now optionally (and it’s off by default) have your system automatically apply available updates (Aleix Pol Gonzalez, Plasma 5.21):

There is now a Breeze GTK theme for GTK4-based apps! (Jan Blackquill, Plasma 5.21)

Wayland

The KRunner Windows runner (which lets you find and switch to open windows) now works on Wayland (Benjamin Port, Plasma 5.21)

Bugfixes & Performance Improvements

Okular is now more resistant to crashing in the face of some malformed PDF files (Albert Astals Cid, Okular 20.12.1)

Okular now returns the correct search results when your search term includes the “Å” character (Albert Astals Cid, Okular 20.12.1)

Dolphin once again scrolls properly when using non-touchpad device with vertical as well as horizontal scrolling capabilities, such as a mouse with a wheel that can tilt from side-to-side in addition to spinning (Eduard Manta, Dolphin 20.12.1

Gwenview’s JPEG save quality chooser in the Save As dialog now saves and restores its value properly (Miklós Márton, Gwenview 20.12.1)

Kate’s find-and-replace speed is now dramatically faster when working with very large files (Waqar Ahmed, Kate 21.04)

Changes in the key repeat rate no longer require a logout or reboot (Weng Xuetian, Plasma 5.18.7)

Plasma no longer crashes when visiting the Weather applet’s Units tab for the second time (Willyanto Willyanto, Plasma 5.20.5)

The System Tray’s expander arrow no longer sometimes disappears when there are only a small number of items in the expanded view (Konrad Materka, Plasma 5.20.5)

Made Plasma even lighter on CPU resources while MPRIS-compliant audio and video players are playing media (David Edmundson, Plasma 5.21)

The kglobalaccel daemon will no longer try to restart and then repeatedly crash while logging out, which could block logging back in (David Edmundson, Frameworks 5.77)

Dolphin no longer crashes when you move or copy files and click the “Apply to all” checkbox in the overwrite dialog (Ismael Asensio, Frameworks 5.78)

System Settings’ Custom Shortcuts page is once again able to, well, record custom shortcuts! (Weng Xuetian, Frameworks 5.78)

The Breeze icon theme now includes the image-missing icon, which somehow makes various GTK apps not crash. I guess they really really want this icon! (Henry Heino, Frameworks 5.78)

User Interface Improvements

System Settings’ KRunner page now supports the “Highlight changed settings” feature (Cyril Rossi, Plasma 5.21)

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: all the things!

This week we did a little bit of everything, and there should be things that make all kinds of people happy. So let’s just jump right in!

New Features

Okular now lets you digitally sign documents! Note that this feature makes use of a digital signature, not a picture of your handwritten signature. This feature was sponsored by the Technical University of Dresden (TU Dresden) (Albert Astals Cid, Okular 21.04)

Kate and other KTextEditor-based apps now have a new feature to swap the selected text with the top item in the clipboard (Christoph Cullmann, Frameworks 5.78)

All KDE software now supports the AV1 image format when the libavif library is installed, including displaying thumbnails in Dolphin and other apps (Daniel Novomeský, Frameworks 5.78)

Bugfixes & Performance Improvements

Dolphin no ever gets in a situation where it always tries to execute executable JavaScript files instead of opening them, when in a different context you’ve previously told it to always execute executable files (Ahmad Samir, Dolphin 20.12.1)

Fixed a common crash-on-launch bug in Dolphin and a case where Dolphin could crash when you open a new tab while there was text in the search field (Anthony Fieroni, Dolphin 20.12.1)

Dolphin no longer crashes when you try to drag a disk in the Places panel (Chris Holland, Dolphin 20.12.1)

Elisa’s “Force Filesystem Indexing” option is now remembered in the config window correctly (Matthieu Gallien, Elisa 20.12.1

Hugely increased the performance and speed of searching through large documents in Kate (Waqar Ahmed, Kate 21.04)

Kate’s Quick Open panel now always opens the correct item (Waqar Ahmed, Kate 21.04)

Improved the character placement in various command-line apps run using Konsole (Oswald Buddenhagen, Konsole 21.04)

The Emoji selector once again opens to display its “Recent” page (David Redondo, Plasma 5.20.5)

Improved compatibility with multi-monitor setups using different scale factors for each monitor in the Plasma Wayland Session (Vlad Zahorodnii, Plasma 5.21)

When you Alt+Tab to an XWayland window in the Plasma Wayland session, mouse wheel scrolling now always works properly in the window (Andrey Butirsky, Plasma 5.21)

The Global Menu applet now works properly in the Plasma Wayland session for XWayland windows (Fabian Vogt, Plasma 5.21)

The System Settings Users page no longer fails to set an avatar image when given a very large file; it now resizes it to fit (Jan Blackquill, Plasma 5.21)

The Lock/Logout applet once again works properly (David Edmundson, Plasma 5.21)

KRunner now correctly evaluates single-digit factorial expressions (Alexander Lohnau, Plasma 5.21)

The KGlobalAccel daemon no longer crashes–either once or repeatedly–when logging out of your user account or shutting down the computer (David Edmundson, Plasma 5.21)

Fixed the most common crash afflicting all KDE software: when graphics drivers are updated but before the system is restarted, and hardware acceleration is no longer available. Now the affected software will fall back to software rendering rather than crashing (Piotr Henryk Dabrowski, Frameworks 5.78)

Fixed one of the most common ways that an app could crash while downloading or updating Get New [Thing] content, and a less common-way that it would happen (Dan Leinir Turthra Jensen, Frameworks 5.78)

Plasma panels no longer show a weird black line when compositing is disabled (David Edmundson, Frameworks 5.78)

The file dialogs are now capable of opening files whose name begins with a colon (Ahmad Samir, Frameworks 5.78)

Custom shortcuts set to activate Plasma applets are no longer sometimes lost after rebooting (David Edmundson, Frameworks 5.78)

Improved the efficiency of Plasma’s SVG caching system, leading to a small but measurable performance improvement everywhere throughout Plasma (Marco Martin, Frameworks 5.78)

The Plasma calendar widget no longer lets you try to display negative years, which would make Plasma crash (me: Nate Graham, Frameworks 5.78)

User Interface Improvements

In Kate’s tab switcher panel, you can now close the currently selected document by hitting the Ctrl+W keyboard shortcut (Waqar Ahmed, Kate 21.04)

The System Settings Desktop Session page has had its user interface rewritten in QML for a cleaner, more modern appearance (Carl Schwan, Plasma 5.21):

Reverted the automount defaults changes announced last week because the new Disks & Devices behavior makes them largely unnecessary (me: Nate Graham, Plasma 5.21)

System Settings’ Screen Locking and Compositing pages now support the “Highlight Changed Settings” feature (Cyril Rossi, Plasma 5.21)

Re-added the option to make the Disks & Devices popup not automatically open when a new device is plugged in, because people articulated reasonable and valid use cases for it (me: Nate Graham, Plasma 5.21)

Made a few more tweaks to the Audio Volume applet, including moving the tab bar to the bottom, always hiding inactive devices, and moving all the toolbuttons up to the header row, as with other applets in Plasma 5.21 (me: Nate Graham, Plasma 5.21):

I think we’re finally done with it now!

On Discover’s reviews sheet, datestamps for individual reviews are now displayed using a format appropriate for your locale (Tabor Nagy, Plasma 5.21)

On Discover’s “Updates” page, the position of the “Update” and “Check for Updates” actions has been swapped (me: Nate Graham, Plasma 5.21):

You can now enter relative paths in the URL Navigators used in various KDE apps. For example if you’re inside your home folder, you can enter “Documents” into the URL navigator and be taken there as expected (Ahmad Samir, 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.

This week in KDE: Usability bonanza

This week we focused a lot on the little usability details that make software a joy to use! A lot of really exciting longer-term work is underway too, some of which you can read about on Vlad Zahorodnii’s blog. But that stuff is still in progress, so until it’s merged, check out this stuff:

New Features

Elisa now lets you repeat the current track over and over and over again if you want (Carson Black, Elisa 21.04):

Plasma’s Timers widget now has a page listing all the predefined timers, which allows you to modify them and add your own (Łukasz Korbel, Plasma 5.21):

You can now set a fixed icon size for the items in the Open/Save dialogs’ Places panel sidebar (Ahmad Samir, Frameworks 5.78):

Bugfixes & Performance Improvements

When using Elisa’s Files view, pressing the Play or Enqueue buttons on grid items now works (Matthieu Gallien, Elisa 20.12.1)

Elisa no longer spikes Plasma’s CPU usage at all while playing music (Matthieu Gallien, Elisa 20.12.1)

Spectacle is no longer sometimes slow and laggy when taking more than one screenshot in quick succession (David Redondo, Spectacle 20.12.1)

Meetings/screencasts using WebRTC now work in the Plasma Wayland session! (Jan Grulich, Plasma 5.20.5)

The lock and login screen virtual keyboard no longer covers up the password field when it appears (Marco Martin, Plasma 5.20.5)

When viewing the details of an app in Discover, a funny little tooltip for the app’s license no longer always appears; now it’s only visible when you hover over the link to the full text of its license, as expected (Aleix Pol Gonzalez, Plasma 5.20.5)

The Comics applet now displays icons in the tab bar’s tabs, like it was always supposed to (Arnav Rawat, Plasma 5.20.5):

The Bluetooth applet’s placeholder message now displays the correct text when Bluetooth is disabled (Nicolas Fella, Plasma 5.21)

When you change your user avatar in the System Settings Users page, the image displayed in the list of users now also changes immediately (Yunhe Guo, Plasma 5.21)

Back and forward navigation buttons in Kirigami-based software no longer sometimes overlap the name of the current page (Devin Lin, Frameworks 5.78)

Install and Remove buttons in Discover no longer look slightly bizarre and have an invisible icon; now they use the standard style and re-color the icon (Marco Martin, Frameworks 5.78):

KDE app window sizes and positions are once again remembered correctly in KDE software run on Windows (me: Nate Graham, Frameworks 5.78)

KDE app windows no longer sometimes open in a maximized state when they were not maximized at the moment they were last closed (me: Nate Graham, Frameworks 5.78)

User Interface Improvements

Elisa’s configuration window has been given a UI overhaul and modernization (me: Nate Graham, Elisa 21.04):

Elisa’s number of remaining tracks indicator now lives in the Playlist’s footer alongside the total number of tracks indicator, where it can never accidentally overlap with any other text (me: Nate Graham, Elisa 21.04):

The Bluetooth applet and System Settings page now only display paired devices; available devices are shown in a separate list only visible when adding new devices (Nicolas Fella, 5.20.5)

There are now default shortcuts set for moving the active window to another virtual desktop (Meta+Ctrl+Shift+arrow keys) and to another screen (Meta+Shift+arrow keys) (Thiago Sueto, Plasma 5.21)

When receiving files via Bluetooth, the notification displayed on screen now has information about how many files are remaining, and shows an “Open in File Manager” button when completed (Nicolas Fella, Plasma 5.21)

Improved the appearance of user avatars in the user avatar chooser view (Carson Black, Plasma 5.21):

After the first time you manually mount a removable disk, it will by default be automounted automatically the on all subsequent times when you attach it (Claudius Ellsel, Plasma 5.21)

The default actions of “Mount” and “Unlock Vault” in Plasma’s Disks & Devices and Plasma Vaults applets (respectively) have been changed to “Mount and Open” and “Unlock and Open” to save you an extra step of having to manually open your file manager and navigate to the newly-available locations. For people who don’t want this, the old “Mount without opening in file manager” and “Unlock Vault without showing in file manager” actions are still present, but in the expanded view rather than used as default actions (me: Nate Graham, Plasma 5.21):

Discover’s task progress sheet now displays the current download speed as well as an estimated time of completion (Aleix Pol Gonzalez, Plasma 5.21):

The detailed icon size popup in System Settings’ Icons page no longer confusingly offers to let you configure the size of “Desktop” icons, because it didn’t actually change the size of files and folders on the desktop (me: Nate Graham, Plasma 5.21)

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: Big new accented/alternative character input feature

A big new Plasma feature was merged this week that I’m very excited to present!

Now, when you press-and-hold a key, a small palette will appear offering alternative characters similar to the one you’re holding down. This makes it enormously easier to type accented characters from other languages or symbols uncommon in your language without having to change your keyboard layout or memorize compose key sequences. It is super intuitive and awesome to use:

You can also use it to type alternative symbols, such as currency symbols uncommon in your locale. This is useful if, for example, you live in the USA but deal with monetary sums denominated in Euros a lot, or the reverse:

Naturally, the feature can be disabled (on the System Settings keyboard page) if you prefer the current behavior to repeat the held-down key.

The feature is mostly completed and merged, but a few bits are still remaining, including full integration with GTK apps, and compatibility with other input methods. For now, adventurous people using git master packages can test it out by setting QT_IM_MODULE=plasmaim in their environment.

This work was done by Carson Black and will be included with Plasma 5.21 by default. Thanks Carson!

Other New Features

Gwenview now lets you enter arbitrary zoom values using an interactive spinbox that replaces the static label showing the current zoom value (Antonio Prcela, Gwenview 21.04)

Window rules can now be duplicated (Ismael Asensio, Plasma 5.21)

The standard file overwrite dialog now has an option to overwrite older files automatically (Méven Car, Frameworks 5.77)

Bugfixes & Performance Improvements

Elisa no longer causes Plasma to noticeably increase in CPU usage while playing music (Sophie Kums, Elisa 20.12)

Elisa now restores the Playlist contents successfully when any of its items were added using the Files view (Matthieu Gallien, Elisa 20.12)

Clicking on a song navigated to using Elisa’s Files view now adds it to the playlist rather than nonsensically taking you to the Now Playing page (Matthieu Gallien, Elisa 20.12)

Elisa’s Spacebar shortcut to play and pause the music now always works on matter which language you’re using the app in (me: Nate Graham, Elisa 20.12)

Konsole is once again capable of displaying bold red text properly (Carlos Alves, Konsole 20.12)

Okular’s support for FictionBook documents now includes the ability to properly display tables (Marat Radchenko, Okular 21.04)

The EnvCan Canadian weather provider now works again in the weather applet (Tiernan Hubble, Plasma 5.18.7)

The System Settings Users page now displays the correct content the first time you open it (David Edmundson, Plasma 5.20.5)

Fixed a variety of visual glitches in headerbar window decoration buttons in GTK3 headerbar apps (Mikhail Zolotukhin, Plasma 5.20.5)

KRunner’s feature to start composing an email when given a mailto:// link now works again (Kai Uwe Broulik, Plasma 5.21)

In the Plasma Wayland session, Task Manager tooltips now show thumbnail window previews for Electron and Java apps (Aleix Pol Gonzalez, Plasma 5.21)

Discover no longer shows broken text for application reviews where the version of the app being reviewed is not known for some reason (Aleix Pol Gonzalez, Plasma 5.21)

Improved Discover’s performance in the Plasma Wayland session (Aleix Pol Gonzalez, Plasma 5.21)

System Settings no longer sometimes crashes when clicking on the “Get new Scripts” button on the KWin Scripts page (Alexander Lohnau, Frameworks 5.77)

Removing items that were installed via the Get New [Thing] system is now more reliable (Aleix Pol Gonzalez, Frameworks 5.77)

Navigating to other folders using the keyboard in URL navigators once again works (Ahmad Samir, Frameworks 5.77)

Plasma scrollbars now are now drawn in the correct color when using a light Plasma theme with a dark color scheme for apps (Mikel Johnson, Frameworks 5.77)

Samba shares once again display the correct icon when shown in a Dolphin tab (Méven Car, Plasma 5.77)

User Interface Improvements

Elisa’s “Show Playlist” button is no longer visible in Party Mode (aka maximized view) since in that view, the thing it controls isn’t visible anyway (me: Nate Graham, Elisa 20.12)

Dolphin now displays placeholder messages for empty views and search results, similar the the placeholder text shown throughout Plasma applets, System Settings pages, and various QML-based software (me: Nate Graham, Dolphin 21.04):

Dolphin’s rubberband/box selection effect now fades out when released, just like the one in Plasma’s Folder View (Carson Black, Dolphin 21.04)

Dolphin’s “Filter…” action was relocated to the Edit menu to live next to the “Search…” action, because they are related in functionality (Méven Car, Dolphin 21.04):

Discover now suggests installing Snap support if you try to open a URL to a Snap app when support for it is not currently installed (Aleix Pol Gonzalez, Plasma 5.21)

The Media Player applet’s album art area now stretches to fill the entire horizontal area, with no side margins (Mikel Johnson and Marco Martin, Plasma 5.21):

Damn that’s pretty

The rubberband/box selection effect now has rounded corners for a more Breeze-like style (Carson Black, Plasma 5.21)

The Places Panel in file dialogs now matches Dolphin’s new behavior of only highlighting a Places Panel entry when that exact location (not a sub-folder) is shown in the main view (Méven Car, Frameworks 5.77)

When you try to unmount a mounted NFS share on which is the location of any open files, the thing you tried to use to unmounted it now tells you that this is the problem, just like it does for physical disks (Méven Car, Frameworks 5.77)

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.

Lenovo ThinkPad X1 Yoga: 6 month impressions

I’ve now had my Lenovo ThinkPad X1 Yoga laptop for about 6 months, so I thought I’d provide a quick update about how it’s going to use this laptop every day with openSUSE Tumbleweed running KDE Plasma. Let’s explore what’s changed since then:

Keyboard

Initially, I complained about some aspects of the keyboard layout, but I’ve gotten used to the Home/End/PageUp/PageDown positioning, and the swapped position of the Fn and Ctrl keys. These are fine now. Lack of media keys is okay too since I’ve used the Shortcuts KCM to set my own. However I just can’t get used to the PrintScreen key being between the right Alt and Ctrl keys. I probably press it by accident 10 times a day and bring up Spectacle when I don’t mean to. One of these days I should get around to using xmodmap or something to turn it into a right Meta key, and they maybe make the F11 key which currently does nothing be the new PrintScreen key.

Speakers and audio

In my initial review, I had some complaints about the speakers and audio configuration. It turned out there there were issues both in the Kernel and PulseAudio that prevented the speakers from reaching their full potential, and all of those issues have been resolved now. The speakers sound awesome (for a laptop, of course). In addition, all the software issues in Plasma are fixed too. Everything audio-related is now perfect. I love listening to music on the machine. It sounds so good!

Camera

The camera’s lag has gone away due presumably to improvements in some layer of the software stack beneath KDE. The quality is still not fantastic, but that’s generally what you can say about any laptop webcam these days. It’s sufficient for Zoom and BigBlueButton meetings.

Power Management

Over the last 6 months, power management got worse and worse. Battery life continually declined and then eventually the battery started spontaneously reporting its charge percent as 0% while unplugged. At other times it would refuse to charge. This was a disaster for, well, actually using it as a laptop!

I called for warranty service and a technician replaced the battery recently. The issues immediately disappeared. I haven’t experienced any more buggy behavior, and the battery life has increased to about 6 hours with real use, which is probably acceptable given the fancy 4K screen. Hopefully there are more wins to be had through additional kernel optimizations in the future. I guess my original battery was just a lemon.

Finally!!!!

Screen/Graphics

I love the 4K screen! Everything is so sharp and crisp!

..a little bit too much so, perhaps.

4K turns out to be kind of overkill for a 14″ screen. Its resolution of 3840×2160 pixels effectively becomes 1920×1080 with 200% scaling, but the thing is, 1920×1080 makes everything rather too small on the screen. It would be ideally suited for a larger 15.6″ screen, but at 14″ and even 13.3″, you need to use fractional scaling or increase the font size to make things big enough to be legible. So that’s what I’m doing: I currently have the scale set to 200% and I use 11pt fonts, making everything approximately 10% larger with no blurriness since it doesn’t scale icons, lines, or pixmaps. It’s as if I had an effective resolution of 1745×981.

Lenovo offers this laptop with a 1440p screen option, but that’s not right either: its 2560×1440 resolution, when scaled to 200%, gives you only an effective resolution of 1280×720, which is much too low and everything on the screen becomes comically large! Well maybe not comically large, but too large for my tastes, at least. 🙂 All windows need to be maximized, and even then, they will feel starved for space. This might be an acceptable resolution for a 12-13″ screen, but not 14″.

I think the ideal high DPI resolution for a 14″ lies between 1440p and 4K; something like QHD+, which is 3200×1800. You’d have effectively 1600×900 with 200% scaling, which would be perfect. 4K should be saved for the 15.6″ screen laptops which will have room to fit an enormous 90+ Wh battery required to provide adequate endurance with such a power-hungry panel.

There’s one more problem with the 4K screen: it’s driven by an integrated Intel UHD 620 GPU which simply cannot push the pixels fast enough. I regularly experience dropped frames and choppiness in full-screen GPU-accelerated animations. Even worse, full-screen CPU-bound rendering (like YouTube videos in Firefox) will kick the CPU into overdrive and massacre the battery life. Gaming? forget about it.

The situation would be improved with either Intel’s 11th gen architecture or AMD’s Ryzen CPUs, both of which feature radically better integrated graphics capabilities. But I’m stuck with the old Intel UHD 620 which is pathetically underpowered for the hardware that’s being thrown at it. Oh well. Lesson learned.

On a happier note, the touchscreen now works out of the box due to distro patches for the problem I mentioned in the initial review. However I still haven’t managed to get the 10-bit color support working.

High DPI scaling

Every single scaling issue I found is now (or already was) working on Wayland!

On X11, all the major issues I ran into are fixed, but there are still a lot of minor rough edges. Many are virtually unfixable, sadly. Ultimately Wayland is the future, so it’s good that it’s been selected as an official KDE goal and is improving at warp speed right now!


Conclusions

I’m happy with this laptop now. It does what I need and it’s a pleasure to use. Here’s what’s great about it:

  • Build quality
  • Quality of input and output devices: keyboard, touchpad, screen, and speakers
  • Uses LVFS for firmware updates (and this actually works)
  • Two full-size USB ports and a full-size HDMI port
  • Rechargeable pen that lives and charges in its own little garage

What would make it perfect:

  • Move the dang PrintScreen key to somewhere on the top function row, and maybe put a second Meta key in its current location
  • AMD Ryzen 4800U CPU for faster software compilation times and better integrated graphics
  • QHD+ screen resolution instead of 4K, for diminished power consumption and perfect 200% scaling
  • Even larger battery capacity; 51 Wh is not very impressive in a 14″ screen laptop anymore
  • USB-C ports on both sides so you can charge it from the left or the right