Open felixfung opened 1 year ago
Update that after long hiatus, I am beginning to work on it. Personal life as well as the amount of research needed has been putting me off this task.
This task might take a bit longer because I need to set up window manager, do research on different workspace specifications and implementations, and the code change I expect would be nontrivial.
Update that I will have to come back to this task a bit later... been super busy...
Made this inquiries for awesomewm:
https://www.reddit.com/r/awesomewm/comments/1bbuz8g/awesomewm_workspaces_and_skippyxd/ https://github.com/awesomeWM/awesome/issues/3902
@vredesbyyrd @ArijanJ
After some investigation it looks like to me (not 100% certain, digging into WMs specifications and implementations.... argggh) it looks to me awesome and i3 are not EWMH compliant, and there are no perfect way to do paging on skippy-xd.
I have made kind of a stupid attempt in #60. Can you please try it out?
P.S. for awesome, it looks like it requires lua+IPC adapter(s) and then for skippy-xd to read off it... a bit involved particularly when apparently very small effort can replicate expose and paging strictly within the awesome ecosystem.
https://github.com/awesomeWM/awesome/issues/3707#issuecomment-1265800564 https://www.reddit.com/r/awesomewm/comments/1bbuz8g/comment/kuh985h/?utm_source=share&utm_medium=web2x&context=3
Hi. Ill test this commit and read that thread asap. Things are a bit extra busy - but I look forward to testing your new work!
@ArijanJ I tested i3 with multiple monitors, it looks like paging is presenting one more workspace than it should, while the number of screens is correct? I.e., _NET_NUMBER_OF_DESKTOPS is always 1 more than it should, while XineramaQueryScreens() returns correct result.
@vredesbyyrd don't hold too much hope, awesome tags are not supposed to be EWMH, and the above PR may well be wrong.
Hi, with #87, it would be much easier to see if basic screen and virtual desktop info are incorrect, by executing
skippy-xd --start-daemon -S 2> /dev/null | grep 'virtual desktops'
and starting paging mode
Reported in #51 by @vredesbyyrd and also in https://www.youtube.com/watch?v=reUDapFGnmQ by @ArijanJ
So far skippy's implementation of multi-monitor paging always assumed that there is constant number of virtual desktops per monitor. E.g. in https://www.youtube.com/watch?v=reUDapFGnmQ in single-monitor setup there are 9 virtual desktops, and in dual-monitor setup there are 9 virtual desktops, each virtual desktop corresponding to 2 monitors.
I have simply assumed this as the EWMH specification.
In awesome and i3 there are "workspaces" which break my assumption and causes undefined/weird behaviour.
E.g. here there are 3 workspaces on the main display - main, foto, code, and 2 workspaces on external display - main, photo
copied from https://github.com/felixfung/skippy-xd/issues/51#issuecomment-1684327915
Investigate EWMH specifcation and awesome and i3 workspace specification. Perhaps, paging currently lists/selects EWMH virtual desktops, and listing/selecting of other "workspaces" needs to be supported. Also, the assumption and limitations of libxinerama needs to be explored.