Discussion for Virtual Desktops and Activities future

Martin Flöser mgraesslin at kde.org
Sun Jul 15 14:57:30 BST 2018


Hi all,

just chiming in to give some KWin perspective.

Activities are weird and we (Thomas and I) never knew what they are and 
how we should integrate them in KWin. The existing code is just a bad 
copy of virtual desktops (bad because it copied the code 1:1 without 
understanding what it does including the things which just don't make 
sense). It's one of the few areas in KWin which are truly unmaintained. 
 From KWin perspective the only useful element is that it allows to have 
a window on multiple "virtual whatever".

On the other hand everything around activities makes KWin code way more 
complex. We have from user perspective two menus offering more or less 
the same. We have duplicated code all over the place. E.g. every effect 
needs to be desktop and activity aware. This results in strange bugs 
like desktop grid switching activities when you click empty space.

The ideas we had when activity support was integrated into KWin just 
never emerged. Things like sub-sessions, windows being truly activity 
aware, applications using the information all just never happened.

On the other hand the interaction with kamd has caused problems several 
times. That is due to the nature of having a side channel related to 
window management. We just are in a tricky situation if KWin asks kamd 
about information it should get from KWin.

So from KWin perspective I would prefer:
  * virtual desktops gain support for windows on multiple desktops
  * activity support gets removed from KWin
  * any mapping from activity to virtual desktop happens outside of KWin 
(e.g. in kamd)

Following the discussing I think that goes into the direction David 
suggested.

What I think would be a disservice to KWin (and thus also Plasma) would 
be to build up any changes on top of the existing activity support in 
KWin. It needs to be kicked out, it's in a bad state.

Cheers
Martin


More information about the Plasma-devel mailing list