This week in KDE: Activities on Wayland

This week the Wayland train continued barreling on, full speed ahead! We picked up a bunch of nice fixes and a big feature:

New Features

The “Activities” feature now mostly works on Wayland! There are a few remaining things to implement to make it 100% comparable to the X11 version, but that should get done in time for the next Major Plasma release (Kevin Ottens, Plasma 5.22)

Sticky Note widgets now have an option to change the font size (Shantanu Tushar, Plasma 5.22):

Bugfixes & Performance Improvements

Zooming in and out in Okular now works correctly when using the “Trim Margins” feature (Gerd Wachsmuth, Okular 21.04)

Media9 PDF movie annotations can once again be played in Okular (Albert Astals Cid, Okular 21.04)

When using Okular’s “Invert Luma/Lightness” setting, the loading page now retains its correct color (David Hurka, Okular 21.04)

Ark can now un-archive zip files with Windows-style backslashes used as path separators (João Silva, Ark 21.08)

Fixed a bug in the Breeze application style that could manifest as a big ugly black square appearing in KMail (Fabian Vogt, Plasma 5.18.8)

Fixed one way that Plasma could crash right after login (John Zimmermann, Plasma 5.21.4)

The Plasma Wayland session will no longer crash if you plug in an external screen while in a non-GUI session (e.g. a virtual terminal) (Jan Blackquill, Plasma 5.21.4)

The Bluetooth applet’s tooltip no longer displays the wrong name of the currently connected device. I originally fixed this 9 months ago in Plasma 5.19.1 but somehow the fix was never merged into Plasma 5.20, so it got broken again. That has now been corrected (me: Nate Graham with help from James John, Plasma 5.21.4)

Ultra-wide screens with a 21:9 aspect ratio are now displayed as “21:9” in System Settings’ Display Configuration page, rather than “64:27” (lol) (Felipe Kinoshita, Plasma 5.21.4)

Fixed one way that KWin could crash with certain low-power embedded GPUs (Vlad Zahorodnii, Plasma 5.21.5)

Maximized GTK app windows are no longer positioned too high in the Plasma Wayland session (Vlad Zahorodnii, Plasma 5.21.5)

Discover’s ability to show you an app’s dependencies now works again (Aleix Pol Gonzalez, Plasma 5.21.5)

Disconnecting a screen in the Plasma Wayland session no longer causes all Qt apps to crash (Vlad Zahorodnii, Plasma 5.22)

Global shortcuts are now working even on non-US keyboard layouts (Andrey Butirsky, Plasma 5.22 in conjunction with a Qt version that has this pending patch integrated)

Plasma no longer lags or hangs when displaying a massive number of tooltips for grouped Task Manager tasks (Aleksei Nikiforov, Plasma 5.22)

The kglobalaccel5 daemon can no longer block re-login by crashing on the previous log-out and then getting stuck (David Edmundson, Plasma 5.22 or Frameworks 5.82; whichever one you get first)

When using a multi-screen setup, the lock screen no longer only displays typed text on the text field of the left-most screen, even if you clicked on the text field on a different screen (Aleix Pol Gonzalez, Plasma 5.22)

The Task Manager’s “Highlight windows when hovering over tasks” feature now works in the Plasma Wayland session (David Redondo, Plasma 5.22)

Kate and other KTextEditor-based apps no longer crash if you delete an open file on disk and choose the “Close file, discarding contents” option in the warning message that appears in the app (Christoph Cullmann, Frameworks 5.82)

Fixed a rare case where Kate and other KTextEditor-based apps could crash when dragging text (Waqar Ahmed, Frameworks 5.82)

Context Menus for text fields inside Kirigami overlay sheets are no longer displayed below the sheet content (Noah Davis, Frameworks 5.82)

In Kate and other KTextEditor-based apps, the code completion pop-up no longer sometimes take up the whole screen width (Waqar Ahmed, Frameworks 5.82)

Text in Plasma tab buttons (such as in the new Kickoff menu) now gets elided when there’s not enough space, rather than overflowing (David Edmundson, Frameworks 5.82)

User Interface Improvements

Konsole’s “Edit Profile” window now displays errors inline, rather than using an ugly modal dialog window (Ahmad Samir, Konsole 21.04):

Okular’s “Continuous” mode is now considered to be a document-specific setting (like the zoom settings are), rather than a global setting (Mahmoud Khalil, Okular 21.08)

Items in the System Settings KWin Scripts now use the “pending deletion” pattern used in many other pages, whereby deleting an item only marks as it as in a “pending deletion” state and it only actually gets deleted when you click the “Apply” button (Alexander Lohnau, Plasma 5.22)

System Tray applets now receive keyboard focus when opened, so they can be interacted with using the keyboard (Eugene Popov, Plasma 5.22)

Hover buttons in the Clipboard System Tray applet’s list items are now top-aligned for tall ones, so that the trash button doesn’t shift around according to height, which makes it easy to click on that button repeatedly to manually prune your history list (me: Nate Graham, Plasma 5.22):

Discover no longer shows a huge weird rapidly-disappearing tooltip while loading the Updates page if the cursor is over any part of it (me: Nate Graham, Plasma 5.22)

The tooltip for the window decoration button used to keep a window above all others now makes its purpose more clear (me: Nate Graham, Plasma 5.22):

The previously somewhat confusing “Keyboard Indicator” applet has been renamed and given a UI overhaul to clarify what it is and what it does (Andrey Butirsky and me: Nate Graham, Plasma 5.22):

The Task Manager tooltip now visually indicates when it’s scrollable by displaying a visible scrollbar (me: Nate Graham, Plasma 5.22)

When using the systemwide double-click mode, it’s now possible to disable “click a selected file’s label to rename it” feature for desktop icons, just as it is in Dolphin (me: Nate Graham, Plasma 5.22)

Discover’s view of an app’s dependencies has received a visual overhaul and now also shows you the exact name of the package for the app in question and also groups the dependencies by installation status (Aleix Pol Gonzalez and me: Nate Graham, Plasma 5.22):

Looks like this will install all of GNOME; guess I don’t wanna do that

All the grid view pages in System Settings now sort items case-insensitively (me: Nate Graham and Alexander Lohnau, Plasma 5.22)

Plasma list items now have left and right margins that are consistent with their top and bottom margins (Noah Davis, Frameworks 5.82)

Various message dialogs throughout KDE software no longer display pointless tooltips saying, “Yes” and “No” when you hover your cursor over buttons whose own text may already be “Yes” and “No”! (me: Nate Graham, Frameworks 5.82)

Web Presence

Check out Niccolò’s video about how to set up a development environment and submit a merge request. Very handy for audiovisual learners!

…Read that as “dev env” not “ded end” lol

…And everything else

Keep in mind that this blog only covers the tip of the iceberg! Tons of KDE apps whose development I don’t have time to follow aren’t represented here, and I also don’t mention backend refactoring, improved test coverage, and other changes that are generally not user-facing. If you’re hungry for more, check out https://planet.kde.org/, where you can find blog posts by other KDE contributors detailing the work they’re doing.

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.

35 thoughts on “This week in KDE: Activities on Wayland

  1. Massive and stellar work again, as we all shamelessly have come to expect by now. We truly are spoiled rotten =) I’d like to bring attention to something else: Clarification, or simplification, or “let me spell it out for you”-cation about the differences in KDE Plasma LTS and distros that use it by default and the new and “good” Plasma and the distros that provide this. I notice on https://kde.org/distributions/ there’s no mentioning on for example Kubuntu that it features an old and, in my opinion garbage, version of Plasma. Yet that is the first option in the list.. Also the screenshots there are misleading, with KDE Neon proudly showing a shot of old the old kickoff menu. So yeah, that website does NOT help anyone. I looked into this when I saw some guy on youtube (you saw it too, Nate..) revisiting KDE after many years, doing a nice and somewhat professional review..you know, the kind that people actually watch and learn from. And my lord, he used Kubuntu and was clearly clueless that he was critisizing and old version of KDE, essentially doing more harm than good for Plasma. Not everyone will check the comments section under the video either, to realize what’s going on. So that was a major facepalm moment.. This should be rectified somehow. Since you can’t knock on every youtube reviewers door to slap them across the face for mistakes they make, maybe it would be better to actually overhaul every major KDE website out there to make it SUPERCLEAR to anybody what is what in Plasmaworld. Kinda important, since the difference between a new Plasma and a so called “stable” LTS is night and day. Stable in this case does not mean stable at all, it means “ancient”. Should call it RETRO or VINTAGE instead of LTS heheee.. But yeah, that’s my two cents this week. Thanks again for all the free work you do for all of us!

    Like

    1. Forgot to mention that there should also be a big warning sign for Kubuntu and Debian: If you install this you are stuck with this old version of Plasma, there’s no “updating to the latest and greatest KDE” included here. I feel for those guys on various forums going: “Ok so I have spent the whole week setting up my Kubuntu the way I like it, installed all my favourite programs and got rid of cruft I never use. I am LOVING this nice personal super-customized OS. NOW, how do I install the latest KDE Plasma, i seem to have an older version?” You just want to pat they guy on the back and give him a hug.. sorry man, I have some news for ya. You’re not gonna luuuv this.. Again, this could have been avoided with superclear and superobvious information from the start.

      Like

    2. It’s a bit of an odd situation because we do have this Plasma LTS product which in theory is supported. In practice none of the developers use it so it’s very poorly supported, mostly just receiving blind cherry-picks of bugfixes (some of which can break). And there are no frameworks or apps LTS versions so those don’t get updates either.

      Overall I would like to see us either double down on our LTS product and create a fully supported LTS stack including apps, frameworks, and also Plasma, or else drop the Plasma LTS product, because of how incomplete and un-loved it is.

      Like

    3. Exactly. LTS in KDE is misleading, the user thinks it means there are developers watching over LTS day and night safeguarding it so it stays rock solid stable..when in fact, like you said, it’s a ghost-town.. a desert without tumbleweed (see what I did there hahaaaa) And it’s not newbie users either, experienced users that may not have been following KDE in a while will fall in that hole as well and maybe install Debian KDE in which case they get a very very old base with an old KDE slapped on top. Calling that “stable” or using it to showcase KDE is really bad advertising for KDE that actually seems to be the DE with the best and fastest development nowadays. You don’t sell a 2021 Tesla and showcase a 1984 Ford Bronco you know.. Kubuntu of course want users so they aren’t changing the “stable base and stable DE” slogan anytime soon too old base and old DE stuck forever. So yeah, something really needs to be done there. I’m not saying the websites need to be completely overhauled, just slap on a warning sticker on the “old” KDE distros and drop them way down on the bottom of the list..something along those lines. I also believe that KDE Neon just announced that they are dropping the LTS version in july, so there’s a sensible move from them already. It’s just a bit heartbreaking when a user may have heard about all the good stuff in KDE world and wants to check it out, and then makes a mistake by picking the wrong distro for the job. That just results in frustration and disappointment. Worst case scenario: they do a youtube review of the whole thing..

      Liked by 1 person

    4. Yea, I completely agree with you.

      The thing is, there are LTS distros regardless of what we do. Let’s imagine that Plasma 5.18 wasn’t LTS. Kubuntu 20.04 would ship it anyway, but it would get zero bugfixes over its two year lifespan, rather than a few. The fact that our LTS product is crappy is really a secondary problem IMO compared to the existence of LTS distro releases themselves which are going to call *something* “LTS” despite not actually doing much more than backporting security fixes and kernel versions (if that).

      This mostly fake LTS product is a bigger problem than just KDE, IMO.

      Like

    5. I’m actually very happy that there are LTS distributions with KDE like Kubuntu/Debian where you can stay on the same KDE version for a few years. While new releases of KDE of course are great in offering bugfixes and new/improved features, there’s also the risk of regressions or “disruptive” user interface changes. That’s why for some usecases I would view LTS distros as a better choice than always upgrading to the latest KDE release. It of course depends whether there are grave bugs or missing features for your personal use cases or hardware combination. But for me none of the releases since I started using KDE (in 2018?) felt so buggy/unstable that I couldn’t image to run them on a long term – so for me it feels a bit of an “injustice” when people picture old KDE releases in general as “garbage/crufty”.

      Like

    6. Maybe it’s just because we’re aware of how many broken things were in an LTS release, and how many of them have been fixed in the meantime. 🙂

      I see us as being in a “high changes” part of our development lifecycle now. We’re fixing things that have broken for years and doing major refactoring for wayland support. I’m sure in 3 or 4 years, things will have stabilized, and the major differences between each version will be smaller. So LTS might make more sense there.

      However the problem will still remain that only Plasma has LTS versions. Your LTS distro is certainly shipping an ancient frameworks version that was most certainly NOT marked as LTS by KDE, and I’m betting that your distro is doing barely if any backporting of bugfixes to make up for the lack of bugfix frameworks versions. Same with apps. Kubuntu 20.04 is still shipping KDE apps from version 19.12, but we’re about to release 21.04. And none of those 19.12 versions have gotten any bugfixes from us in KDE in over a year. Is your distro backporting bugfixes? Probably not.

      This is what I mean when I say that the LTS product is mostly fake. A lot of the code you’re relying on actually has no LTS guarantee from the developers at all, with its stability is only provided by distro backports, and it’s not clear how much of that even happens at all. I think to have a REAL LTS product, we would all have to do a lot of things differently. We would want LTS frameworks versions. We would want LTS app versions. We would want to set up some internal structures in KDE to ensure that at least someone is actually using and testing these versions on a regular basis. We would want to beef up the CI for these LTS versions to ensure that things don’t regress. We would want to coordinate more closely with LTS distro packagers to see what they need from us to offer a better product. And so on.

      Like

  2. Using Arch-y system (not split source packages) is away too easy to compile KDE app or framework. I wonder why KDE Neon is based on Ubuntu, rather than away better os architecture. 🙂

    Like

  3. Amazing how much more and more functional Plasma gets in Wayland with each update! Already looking forward to the arrival of Plasma 5.22!

    Like

  4. Why does the “Lock key indicator icon” change from a keyboard to a “A” letter icon? This may be confusing! 😉

    Like

    1. Because on almost any keyboard, Caps Lock is symbolized by a capital A, or maybe an upward arrow, but that seems to be far less frequent. This makes it super easy what that indicator is supposed to indicate. To be honest though, it really should be like the microphone icon, only ever present if Caps Lock is on, and nowhere to be seen when it isn’t.
      I think there should also be an icon, similar to the microphone indicator, that indicates the webcam. Many webcams and laptops don’t have LED indicators for it, and it is as much if not more of a privacy concern.
      Also, is there a way to change the order of indicators / tray applets, or the way they are ordered? Right now they are shown in the order of the modules being loaded, which seems to be random.

      Like

    2. All excellent ideas. Can you please file bug reports for them?

      There is no way to change the order manually, but it’s not random. A few releases ago we made it consistent, and you can see the order in the applet’s settings window on the “Entries” page.

      Like

    3. For Plasmoids (as Lock Keys Status and Keyboard Layout), you can just place them to a whatever place on panel you want 😉

      Like

    1. Dunno, but I hope so.

      Not being a graphics guy, I have no idea what it is or why it’s important though. Can you ELI5?

      Like

    2. ● A “lease” is a contract between X and the VR app
      naming a set of display resources
      ● The “lessor” (e.g. X server) is the current
      controller of the leased resources and promises to
      leave the resources alone while the lease is active
      ● The “lessee” (e.g. VR app) is free to set modes,
      fip frame buffers, DPMS on/off at will.
      ● When the lesse terminates the lease, the lessor
      takes the display back

      From valves pdf on the subject. Basically display handoff, useful for things like VR

      Like

    3. From a user perspective I still have no idea what the benefit is. 🙂 Will it result in better FPS? Lower CPU or GPU use? Lower latency? Fewer dropped frames? Etc.

      Like

    4. It’s needed for VR functionality to work at all under a wayland compositor. It’s literally the only reason for me left that I need to switch my session back to xorg

      Like

  5. “Global shortcuts assigned to non-Latin symbols of non-US keyboard layouts finally finally finally work properly!”

    Nate, the phrase is not quite correct – shortcut can’t be assigned to a non-Latin symbol of non-US keyboard layout, at least when there is a Latin symbol of US layout for the same key. In this case, it will be assigned to the Latin symbol instead.

    To put it simple and eliminate the confusion, we could just say:
    “Global shortcuts are now working even on non-US keyboard layouts”

    Thanks to Ilya Bizyaev for pointing it out.

    Like

    1. “Global shortcuts on Wayland are now working even on non-Latin keyboard layouts”
      For X11, that’s now true even when first configured layout is non-Latin.

      Like

  6. Thanks alot for the Clipboard fix! it used to annoy the hell out of me when mass cleaning my clipboard history. I hope bulk actions to bee added for managing the clipboard.

    Next, In sticky notes, i would like to know if there is any plan to make it dynamic in transparent Stick Note, so if wallpaper is dark, it uses light text & vice versa, or may be get color info from wallpaper and select suitable readable color? I generally have my wallpapers for switchinh b/w every intervals & it frustating to change back to other wallpaper just to read the to-do. (I know like having a BG will fix this, but I like the transparent one a lot better.)

    Like

    1. There is a “Clear clipboard” broom icon on the top of the Clipboard menu. It removes EVERYTHING from the clipboard. You can even set it to not ask for confirmation.

      Like

  7. I don’t understand the value of all this polishing of Okular when it’s missing one fundamental key feature – subpixel antialiasing.

    Install foxit-reader from the AUR, open it up and do a side-by-side. Unless you’re running a 4k monitor the difference in text quality is obvious. (A fork of Foxit’s PDF engine is used in chrome btw).

    Moreover, the reason for the omission of subpixel-AA is very apple-esque, rather than any technical hurdle. Apparently the developers don’t personally like it, so nobody else gets to have it either.

    Like

    1. I don’t understand the value of all this polishing of Okular when it’s missing one fundamental key feature

      Because development effort is not fungible. Speaking personally, there are a variety of Okular-related issues I’m capable of working on, but I’m not technically skilled enough to add sub-pixel anti-aliasing to the rendering backend–which is actually Poppler, not anything in Okular itself. So for me personally, it’s not a matter of “polish Okular vs implement sub-pixel rendering in Poppler”, because I am only capable of doing one of those things.

      Like

Leave a comment