Little KWin Helpers

KWin, our fantastic and flexible window manager and Wayland compositor, can not just drive your session but also run in windowed mode for development purposes:

$ dbus-run-session kwin_wayland --exit-with-session kwrite

Et voila, a windowed KWin appears, running KWrite. The separate DBus session is important so it doesn’t mess with your running session, notably trying to take over your global shortcuts.

A black window “KDE Wayland Compositor” containing a KWrite editor window
KWrite running inside KWin Wayland running inside KWin Wayland
Continue reading Little KWin Helpers

On Window Activation

You click a link in your chat app, your browser with a hundred tabs comes to the front and opens that page. How hard can it be? Well, you probably know by now that Wayland, unlike X, doesn’t let one application force its idiot wishes on everyone else. In order for an application to bring its window to the front, it needs to make use of the XDG Activation protocol.

KWrite (text editor) window, window has no focus (colors are softened). Task bar with a couple of apps, KWrite icon has an orange background behind it, indicating KWrite is demanding attention
A KWrite window that failed to activate and instead is weeping bitterly for attention in the task bar
Continue reading On Window Activation

PI(M)P Your Clock

You may have read about my new-found fondness for Plasma’s Clock app. Following the development of a “Picture in Picture” protocol for Wayland, I remembered how I once saw someone put up a little timer window during a lunch break while screen-sharing a presentation. I figured, I wanted that, too!

KClock main application window on the page of a “Take a break” timer with a message “This timer is in Picture-in-Picture mode”. A separate small popup window in the bottom right corner containing the timer, a circle to indicate progress, and some controls (add a minute, pause, reset, return to app, and close)
KClock showing a timer popped out in a PIP window
Continue reading PI(M)P Your Clock

Little Wayland Things

While I do have a Qt git build on my machine that I use for development, I usually only test individual applications and functionality but hardly ever run my full Plasma session on it. This means that for day-to-day use I typically only get to enjoy new Qt features once they have actually been released.

Message Box “Close Document: The document has been modified. Do you want to save your changes or discard them?” ontop of a KWrite editor window that is darkened because the prompt is modal
Proper modal dialogs under Wayland (note the darkened editor window) thanks to XDG Dialog and the new Qt 6.8
Continue reading Little Wayland Things

Qt Wayland, Supercharged

One of the key components to using a Plasma Wayland session is obviously the Qt Wayland Client module for running Qt applications in a Wayland environment. While it has been successfully deployed to millions of devices over the years, there’s still a few areas that feel like they haven’t been touched much since its inception as part of the Qt Lighthouse project, what turned into QPA, the Qt Platform Abstraction.

Message dialog popup, asking for confirmation “The document ‘Untitled’ has been modified. Do you want to save your changes or discard them?” with actions “Save”, “Discard”, “Cancel”
WIP: Qt Wayland client-side decoration with a proper drop shadow and all
Continue reading Qt Wayland, Supercharged