Open kobaz opened 4 years ago
It's hard to see since the top of the screen is cut off. I'll try and get a better capture.
But basically I'm arrowing left-right and changing from workspace 1,2,3,4,5..etc
And the only updates that rieman shows is jumping from 37 to 2
Better recording
Also. Is there a way for Rieman to show which screens are on which workspaces simultaneously? Ie: multiple highlighted yellow squares for each of the current screens in use?
Also. Perhaps an even better solution is individual pagers, each on its own screen, each showing ONLY those workspaces on that screen.
My physical setup:
The sixth top left-screen is on another system.
ok, I've got it. The issue is that awesome doesn't update _NET_CURRENT_DESKTOP property of the root window on monitors except primary. You can see it by dumping xprop -root | grep CURRENT_DESKTOP and switching desktops around. The event comes to pager, but it cannot get number, different from what it is given from root window. I don't know how awesome implements additional screens (not X11 screens, but the thing you see on extra monitor), probably it hase additional windows that update own property. Since pager is an external program that is supposed to follow spec (https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html) there is nothing much to do. Probably, there is some wm-specific method to get current desktop, but I'm not aware of it. Leaving this as open, with the hope to fix in future.
Also. Is there a way for Rieman to show which screens are on which workspaces simultaneously? Ie: multiple highlighted yellow squares for each of the current screens in use?
Currently no. To distinguish desktops, some attribute is required, like workspace number for specific desktop. Maybe it's worth to introduce some kind of manual configuration: kinda 'desktop groups'. But since desktop number is global, and geometry is predefined, it would be hard to draw rectangular border.But I'm open to ideas.
I would agree with a feature like 'desktop groups' How do you think this might be implemented?
Thanks.
Well, it looks like the NET_CURRENT_DESKTOP handling was fixed in awesome (in commit d2dc428e567e378a3f534c4d748543413fc30172), and awesome version i have here really shows different desktop numbers on different screens. So it looks like it should be possible to deal with it. I see currently following issues in rieman: 1) geometry: givent 2 monitors, we have two desktops representations, but each desktop is 2x width. So right part of left desktop and left part of right are not used; 2) since we have two sets of active desktops, there is no highlight for the second. 3) desktop number in rieman is through, so by default for 2 monitors in awesome we get 1..18 instead of two sets by 1..9. 4) cycling through desktops is only works for the 1st set of desktops (1..9), it does not switch you to further.
I'll take a look at it as time permits.
Also. Perhaps an even better solution is individual pagers, each on its own screen, each showing ONLY those workspaces on > that screen.
After looking at the problem, this seems to be the only viable solution. I've implemented 'subsets' mode, that does exactly this: only shows subsets of desktops that belongs to specific monitor. Which desktops belong to which screen is determined by configuration. Probably it is possible to auto-generate this configuration from awesome's CLI. To determine geometry, you have to specify RANDR output of corresponding monitor.
Since there is no access to 'current tag' on each of monitors from outside of awesome, there is only one current desktop highlighted. Note that awesome creates virtual desktops only when there exist at least one window.
You may now checkout HEAD and try this subsets mode to see if it works for you. Hopefully, I didn't break things too much in normal mode. Report any issues here.
I'm using awesomwm as my window manager, and I have 5 physical screens and 9 workspaces per screen.
First Issue: Navigating between workspaces does not update the rieman pager.