Registered Member
|
hey,
I can't find this in api documentation: I need to get number of clients on the virtual desktop. Actually bool empty would be sufficiant. Is there method like this in the api? If yes, where is the updated documentation? |
KDE Developer
|
I don't think we have a method for that. From a window manager perspective we are not really interested in the count per desktop. We have the focus chain per desktop which kind of knows the count per desktop, but that's not exposed and also doesn't guarnatee it.
Keeping track is not absolutely trivial as one needs to track the desktop changes of all windows (including on all desktops) and the changes of virtual desktops overall. |
Registered Member
|
Ok, thanks for quick answer.
|
Registered Member
|
http://kde-look.org/content/show.php/Dy ... ent=162964
One more question. What happens to the currentDesktop when desktops grid effect is triggered? It seems that using this effect brakes this script somehow. |
KDE Developer
|
During using of Desktop Grid the currentDesktop can change. E.g. if you move an active window to another desktop the currentDesktop changes. But it should all emit the signals. |
Registered Member
|
Hm, this all problematic. Not only changing desktop with desktop grid brakes the script (pager still works) but I also managed to crash kwin with it (try to start window on last desktop and move it to the first desktop with pager). Well It is good enough for me, but I better remove it from the kde-look.org.
|
KDE Developer
|
We shouldn't crash Feel free to provide me a backtrace and a way how to reproduce and we can try to fix it. |
Registered Member
|
Well, let's see:
this code will not crash: http://paste.kde.org/pafde6a76 however i get this stacktrace: http://paste.kde.org/p28239710 after running this code: http://paste.kde.org/p299a3477 (it probabbly has a little bit of nonsense, but i just was a bit to lazy to reinstall old version and so i simply copy-paste few lines ). To replicate the crash, simply try to run the script, create 3 VD, place any window on third and try move it to the first one using pager (desktop grid is problematic because of other reasons). Kwin will crash. PS If there is any way I can help, I would be glad to do so. |
|
trace lacks debug symbols, ie. doesn't say anything
be warned that https://git.reviewboard.kde.org/r/114080/ alters desktopPresenceChanged so that it's only emitted if the current desktop is affected |
Registered Member
|
Right. This is not debug build, but simply version from the Arch repository.
I could probbably build debug version of kwin, but this bug shouldn't be difficult to reproduce with the given script. Thanks for the warning. Actually the main functionality of the script was in fact related to adding and removing VD after changing it. Windows moving was just small addon (that turned to not work quite right anyway). Well, I removed the script from KDE-look.org already and personally I didn't like the pager behavior and how it redraws itself from scratch after changing desktops count. I simply added 14 VD and now I will NEVER will have to add another VD again. |
|
Tried, no crash here - the mentioned patch may have covered this (because desktopPresenceChanged is now called for any relevant occasion)
Script is basically still operative, but only updates VD amount when you approach a useless current desktop. Main issue with your description is to have 3VD and move a window to the 3rd, what will oc. increase #VD to 4. |
Registered Member
|
That would be expected, since part that changes ammount of the VDs after moving window from the workspace.desktops -1 (and was crashing kwin) is now not triggered.
|
|
nope, the desktop amount is immediately shrunk if i move the window from or to the current desktop.
i cannot though make the last desktop the current one for some reason (didn't really inspect the script) - is that supposed to be the case? |
Registered Member
|
Yes, this is how it is supposed to work. There should be at least one VD after the current. Therefore after switching to the last VD new VD is created.
|
Registered users: Bing [Bot], Google [Bot], q.ignora, watchstar