-
Notifications
You must be signed in to change notification settings - Fork 8
PAGING: undefined behaviour when the number of workspaces/virtual desktops are not constant throughout monitors #52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
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/ |
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. awesomeWM/awesome#3707 (comment) |
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
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 #51 (comment)
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.
The text was updated successfully, but these errors were encountered: