[Bug Fix] Per-screen virtual desktops

It can’t be an addon because implementing this feature requires changing how KWin fundamentally works for virtual desktops.

Thank you for the follow-ups.

Do we have an idea of how much work this is? If this requires recurring efforts over some weeks/months, maybe that could be sponsored/funded somehow? (I would be interested in sponsoring/funding that work).

I’ve been wondering for a while now if the main roadblock to this feature being implemented, and perhaps others like it that I am unaware of, is not the actual development work itself, but the lack of a infrastructure that would allow people to fund the development of a specific feature.

The addition of the donation features that KDE introduced not too long ago definitely points in this direction.

The larger feature request for per-screen virtual desktops can’t be in addons, but the smaller scope "virtual desktops only on primary display” should be able to.

I donate yearly to KDE, but am willing to do an additional $50/month into a fund specifically for this feature.
I use 4 monitors, just recently got a UHK80 keyboard, and am wanting to become more keyboard centric. Having 4 monitors and being more mouse or split mouse/keyboard focused previously made me not want to use virtual desktops, especially with it happening on all screens simultaneously. To use the virtual desktops in the current implementation I would have to do more complex setups of pinning certain apps across multiple virtual desktops, and still would not be giving me the ideal result.
Per screen virtual desktops is what is likely going to bring me over to Cosmic as my main DE upon release. I really don’t want to do that as Cosmic is missing a few other features I really like, but it’s coming to the point for me now that per screen virtual desktops is more important. I’d still use some KDE apps on Cosmic so I’d probably stop my donation to the main project and instead do smaller donations to the individual apps that I use. I only say that to be clear that I’m not threatening to stop donating to KDE as a whole.
I love KDE, and see per screen virtual desktops as a key feature needed to compete in the developing DE and WM/Compositor landscape.

Is this really the case? I would be willing to donate for this feature too. Not thousands of dollars (!) like others but 10$ for sure.

I believe that at least keyboard shortcut part currently can be successfully emulated with the KWIn script “Swap/Add/Remove - Virtual Desktop Shortcuts”. Keyboard shortcuts “Swap the current desktop’s windows with previous/next one“ happen to move windows between Virtual Desktops on a per-screen basic. I especially like this approach because it doesn’t mess with the virtual desktop names with numbers.

Oh, turns out I was wrong about the script.
Opened the issue, hopefully that won’t be hard to implement.

Virtual desktops only on primary has been merged, and will be available starting with Plasma 6.6.

For anyone who wished to tip for this specific feature, I have a Ko-fi page where you can do so; it supports multiple options like cards/Apple Pay/Google Pay/Paypal. You may wish to wait until it has hit a public release and you can actually use it. :slight_smile:

I hope it is useful! :folded_hands: :blue_heart:


For anyone wanting the full per-display virtual desktops, that isn’t part of this change, so hold your tips for now!

Nice one! I read that in Nate’s blog and was surprised!

I’m not sure I understand fully the phrasing “virtual desktops only on primary (monitor)”, the requested feature is to have independent, isolated virtual desktops on each monitor (i.e when you click VD2 on Monitor 3 it should not travel you to VD2 on Monitor 1), is that the same?

It’s not the same. What they released now is this: kwin/scripts: add "virtual desktops only on primary" (!910) · Merge requests · Plasma / Plasma Add-ons · GitLab

Thx, I missed the footer (out of excitement). Well then this “announcement” is not in the proper thread, one can easily do that using Overview then right-clicking the window, or am I missing something else…

Do what? This let’s you have multiple virtual desktops only on the primary screen; it’s not about keeping a window in the primary screen only.

You can force a window to follow between virtual desktops by right clicking its title bar and choosing DesktopsAll Desktops, which would be appropriate if you only wanted that behaviour for 1 or 2 windows.. or even creating a Window Rule for certain apps.

The referenced change gives an option that makes all windows that are on non-primary displays follow between virtual desktops, automatically.

With this workflow enabled one can do something like place their chat apps / music player / reference material / etc on their non-primary display(s), and they will always be visible no matter what virtual desktop you are on. Move it back to the primary display and it will stay on that virtual desktop, automatically.

Not as powerful as virtual desktops per-display, but much easier to implement in the short term and the desired effect many people have asked for.

@rockandstone I think Merrit said somewhere that this was just a step towards full implementation for technical reasons, unless I’m mistaken.

Thanks, I prefer to use the Desktop Grid or Overview and then right-click a window to put it on all desktops on my 2nd monitor as it is much faster than looking for menu entries, and I also use discrete, pre-set virtual desktops for applications, for example Konsole maximized in 2nd VD, Dolphin maximized in 3rd VD, etc., so your use-cases about chat, music player etc., does not apply to me, but I guess automatically as you said is better than what it was before. Looking very forward to your work on full per-display virtual desktops though :hand_with_index_finger_and_thumb_crossed: :slight_smile:

There is movement here: virtualdesktops: Add per-output desktops (!8602) · Merge requests · Plasma / KWin · GitLab but it seems to implement NOT the workspace per Screen approach as far as i understand it (at least not now, maybe seems possible via kwin script plugin later on ?). If someone better at reading code can enlighten me, gladly do.

This is in a way worse than nothing because its not worth using but seems to fill a hole that will then never be filled with anything more useful. The author has misunderstood the entire problem space. Instead of virtual desktops spanning across multiple monitors OR virtual desktops that are per monitor you get the weird middle ground of virtual desktops that span across monitors BUT with the ability to change 1/2 or 1/3 of the desktop to reflect a segment of another desktop.

  • Doesn’t inherently make any sense with overview
  • Anything that depends on showing the windows on current desktop will be broken since there are n current desktops most of which is actually hidden at any given time as its on the hidden half or 2/3 of the workspace.
  • Can’t efficiently switch to secondary workspaces because you must mouse over to the correct monitor before switching workspaces or toggle repeatedly slowly waiting for an animation per operation.
  • Is just a weird visual metaphor that makes little sense. In most configurations the monitors are side by side by different right halves slide in from the left and right where you other monitor is.

If you count having both activities with a poor UI + virtual desktops doing much the same thing as activities and now a toggle to enable weirdo half swapping workspaces Plasma has by far the worst virtual desktop features of any OS in existence. It’s throw it all away and start over bad.

It’s far from perfect, but will also still be very useful for me despite that, so hopefully that is what will get the feature finally in the door so there is community pressure on developers to actively work on it.