This week in KDE: Qt apps survive the Wayland compositor crashing

Thanks to the heroic work of David Edmundson, Qt apps (including all KDE software) in Plasma 6 will now survive when the Wayland compositor crashes! This is huge! And work is ongoing to add this functionality to other common app toolkits, such as GTK.

Beyond that, Plasma 6 porting work continues, with more and more people using it daily. Not me yet, because I’m a scaredy-cat about this kind of instability and am waiting for it to converge a bit more 🙂 But hopefully soon! Meanwhile, check out what else happened:

New Features

Konsole Now works on Windows! In addition to making the app possible to potentially distribute on Windows, this means that Windows-distributed KDE apps that have an embedded Konsole view like Kate can now actually embed Konsole itself, instead of an inferior terminal view (Waqar Ahmed and Christoph Cullmann, Konsole and Kate 23.04. Link 1 and Link 2)

User Interface Improvements

Spectacle now always shows a notification when taking a background-mode rectangular region screenshot (with Meta+Shift+PrintScreen by default) and also no longer quits if its main window happened to be open while any such notification disappears (Noah Davis, Spectacle 23.04. Link 1 and link 2)

For new users (not existing users), the system will now sleep after 15 minutes of inactivity by default, and will generate correct power profiles for convertible laptops (Plasma 5.27.3, me: Nate Graham, Link 1 and link 2)

On Discover’s app pages, the rows of buttons now become columns for narrow windows or the mobile interface, and their layout is streamlined and improved as well (Emil Velikov, Plasma 5.27.3. Link):

Discover mobile view showing "Documentation," Website," and "Share" buttons in a column

Welcome Center now has a mobile-friendly layout. The content itself is still fairly desktop-focused, but this will soon change as well! (me: Nate Graham, Plasma 6.0. Link):

Welcome Center app showing "Manage Software" page in narrow mobile mode

In the Plasma Wayland Session, the Ctrl+Alt+Scroll up/down shortcut that switches virtual desktops has been changed to Meta+Alt+Scroll up/down to avoid blocking app-specific shortcuts and also generally comply with the standard that global actions use the Meta key (me: Nate Graham, Plasma 6.0. Link)

When using the Kickoff Application Launcher’s setting to use a grid view for non-favorites views, this now affects the All Applications view too (Tanbir Jishan, Plasma 6.0. Link)

Improved how the SDDM login screen works with a touchscreen in the Plasma Wayland session: touch input works at all, tapping the Virtual Keyboard button now opens it, and the keyboard layout list can now be scrolled with a swipe (Aleix Pol Gonzalez and me: Nate Graham, Plasma 5.27.3 and Frameworks 5.104. Link 1, link 2, and link 3)

Significant Bugfixes

(This is a curated list of e.g. HI and VHI priority bugs, Wayland showstoppers, major regressions, etc.)

KRuler now works properly on Wayland, and can now be moved or resized like on X11 (Shenleban Tongying, KRuler 23.04. Link)

Fixed another way the powerdevil power management subsystem could crash with certain multi-screen setups (Aleix Pol Gonzalez, Plasma 5.27.3. Link)

Fixes a way that apps could crash in the Plasma Wayland session when a display goes to sleep (Aleix Pol Gonzalez, Plasma 5.27.3. Link)

Night Color now works on ARM-powered devices that don’t support “Gamma LUTs” but do support “Color Transform Matrices”! It still doesn’t work on NVIDIA GPUs because they don’t support either of them (Vlad Zahorodnii, Plasma 5.27.3. Link)

Red and blue color channels are no longer sometimes swapped while screencasting in the Plasma Wayland session (Aleix Pol Gonzalez, Plasma 5.27.3. Link)

Image buttons in Breeze-themed GTK apps are now displayed correctly (Janet Blackquill, Plasma 5.27.3. Link)

Fixed two major crashes in Plasma related to actions that would show window thumbnails in the Task Manager (Fushan Wen, Frameworks 5.104. Link)

Other bug-related information of interest:

Automation & Systematization

Re-organized https://develop.kde.org/docs to have a more straightforward structure and make it easier to find stuff (Carl Schwan. Link)

Wrote some documentation about KRunner metadata (Alexander Lohnau, Link)

Web Presence

https://kde.org/for/scientists is now live! This web page showcases the best KDE software to use for professional, technical, scientific purposes, including by NASA and Barcalona’s ALBA Synchrotron.

https://develop.kde.org/frameworks/kirigami has been overhauled to showcase the latest state-of-the-art in KDE’s Kirigami app development framework:

Thanks to Carl Schwan, the KDE Promo team, and many others for making these impactful changes happen!

…And everything else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out https://planet.kde.org, where you can find more news from other KDE contributors.

How You Can Help

If you’re a user, upgrade to Plasma 5.27! If your distro doesn’t offer it and won’t anytime soon, consider switching to a different one that ships software closer to its developer’s schedules.

If you’re a developer, consider working on known Plasma 5.27 regressions! You might also want to check out our 15-Minute Bug Initiative. Working on these issues makes a big difference quickly!

Otherwise, visit https://community.kde.org/Get_Involved to discover other 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!

And finally, KDE can’t work without financial support, so consider making a donation today! This stuff ain’t cheap and KDE e.V. has ambitious hiring goals. We can’t meet them without your generous donations!

28 thoughts on “This week in KDE: Qt apps survive the Wayland compositor crashing

  1. BTW Nate may I ask you if you know if there’s any work on something like grouping windows together in a tabbed interface, which was a thing in KDE SC 4.4 until… Well, I don’t remember when this feature was removed.
    This video demonstrates what it looked like (timestamp included):

    I remember I used this feature a lot, it (and window shading) is a great alternative to tiling and virtual desktops. Probably not the most popular solution, but looked dope back in the day.

    Like

    1. To my knowledge nobody is working on bringing it back. This stuff was all before my time so I’m afraid I don’t have any insight on why it was removed. But I suspect it was very complex and caused a lot of code bugs that made development of other things difficult. Probably it also didn’t work properly with CSD windows. Usually big features like this don’t get pulled for no good reason.

      Like

  2. Amazing work by David! I’ve been struggling with GTK and Qt both _exiting on connection errors for a while. A bit unfortunate that a library user still can’t override what happens on reconnect fails, in order to handle that case gracefully (for instance by just having Qt clean itself up but without exiting), but this is a nice step-up in reliability anyway.

    Exciting new as always, thank you for your continued work on KDE.

    Liked by 3 people

    1. David Edmundson’s work is indeed heroic – I’ve been following some of the interactions around his work in that arena and he is often challenged to withstand very adverse reactions from other maintainers and developers, which – as far as I can tell – he handles very competently and politely.

      Liked by 2 people

  3. Talking about crashing apps, is there any option for apps executed via xwayland to survive the crash of xwayland server?
    It’s not very frequent but very annoying to suffer, specially at work.

    Liked by 1 person

    1. Probably doubtful. X11 apps typically don’t survive when the X server crashes right now, and XWayland is just a different X server.

      The fact that some Wayland apps and toolkits are growing this ability will ultimately turn out to be an advantage of Wayland!

      Liked by 1 person

  4. > Qt apps (including all KDE software) in Plasma 6 will now survive when the Wayland compositor crashes!

    So does that mean, that I can now finally do a “systemctl –user restart plasma-kwin_wayland.service” and it doesn’t kill my whole Plasma session?

    Liked by 1 person

    1. Yes, once this is released and as long as all the open apps use Qt. If any of them use other UI toolkits or custom toolkits, it won’t work for them until they or their toolkits get ported to do the same thing.

      Liked by 1 person

  5. Thank you for the work on “Meta+Alt+Scroll up/down” binding. This is indeed more coherent and much appreciated.
    Would you please consider adding also a setting for defining the direction of the mouse scroll? It is inconsistent — “Vertical Scroll” option in “Mouse Action” tab of “Configure Desktop and Wallpaper…” has the opposite direction (and not subject to user change of direction either). Scrolling down on empty desktop space (wallpaper image) switches to the next virtual desktop (to me, more intuitive btw), but Scrolling down with Ctrl (as for 5.27) + Alt modifiers switches to the previous one.

    Like

  6. Hi Nate,

    I am sad to say but the Dual Monitor Operlapping problem still exists (in Plasma 5.27.2) – despite KDE declared it solved.

    When extra monitor is set to be to THE RIGHT, there is a few millimetres of operlapping. – It is funny that when monitor is set to be to THE LEFT everything is OK.

    I can’t be the only one having this problem – or can I?

    This is especially distracting now since the possibility to manually add a gap between monitors was removed. (I’m a little pissed off because of that since all development should aime for better – not for worse).

    Operlapping happens with following system:
    ———————————————————————————
    Operating System: Kubuntu 22.10
    KDE Plasma Version: 5.27.2
    KDE Frameworks Version: 5.103.0
    Qt Version: 5.15.6
    Kernel Version: 5.19.0-35-generic (64-bit)
    Graphics Platform: X11
    Processors: 4 × AMD A4-5000 APU with Radeon™ HD Graphics
    Memory: 7.5 GiB of RAM
    Graphics Processor: KABINI
    Manufacturer: LENOVO
    Product Name: 20334
    System Version: Lenovo Ideapad Flex 15D
    ——————————————————————————
    – Extra monitor is a television and computer is a laptop.
    ——————————————————————————

    So therefore… I must insist that KDE team puts back the possibility to separate the monitors.

    I would also like to have back the shortcut icon/check box which was in Display Configuration applet in System Tray – and gave quick access to the general System Settings Display Configuration. (It was removed in Plasma 5.24).

    It was a far more convenient way to enter the settings than the current way (with right click in an empty desktop).

    Can You please let me know what are your plans regarding this.
    Yours,
    Sami Saarinen

    Like

    1. In fact… yes! Though not in direct coordination with them; the changes were requested by Fedora, which is positioning itself as a platform for OEM installs, and apparently having a short sleep timeout is some kind of checklist item for certification. They could always patch this themselves, but the changes made sense to both GNOME and KDE people.

      Like

  7. Will latte-dock be ported to Qt6? As far I know, it’s no longer in active development, so I’m not sure if someone will pick it up.
    This is especially important with the Wayland crash survival, because currently latte doesn’t survive Wayland crash, so it would be nice if it did in Plasma 6.

    I assume, that Qt5 will be still supported for some years, so in theory latte should still work under Plasma 6, but how well it will work is another matter.

    I am afraid of the moment, when the updates change the system so much that latte won’t be usable anymore. Latte is a crucial component of Plasma desktop experience for me. I tried to survive without it – not possible. Latte with its widgets (buttons, title, appmenu and more) provides superior experience. I know that latte features won’t be ported to plasma default panels, so it would be a very sad day if latte-dock would die.

    Like

    1. As with everything in the FOSS world, Latte Dock will stay alive if people with the development prowess to do so are interested in making it happen. So far nobody’s showed up to give it much love since its original developer stepped back from the project. Make of that what you will.

      Like

    2. That doesn’t sound good. Latte is an advanced project and Nico won’t port the features to Plasma’s panel, as the maintenance and probably complexity of a project is too high for him. I suspect we would need several people watching over different parts of latte to keep it alive.

      The only chance we have is that someone skilled in programming also uses and depends on latte and when it seriously breaks, he/she will decide to do something about it. As long it works, it will be hard to find people working on it.

      Latte is brilliant! With its dynamic behavior, it just makes the Plasma experience for me.

      Like

Leave a comment