-
-
Notifications
You must be signed in to change notification settings - Fork 83
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
Desktop Names wrongly reported by wmctrl under fvwm3 #477
Comments
FVWM was one of the first WMs to adopt the EWMH specification alongside the ICCCM2 specification. As such, some of the means of specifying things like number of desktops can come about in a few different ways. The `DesktopName` command sets the names of each desktop (and therefore implicitly how many desktops there are), but there's also a `EwmhNumberOfDesktops` command to do the same thing. Regardless of which command a user choses, `DesktopName` should set the NumberOfDesktops variable which calculates how many desktops there actually are. Fixes #477
When a window is dragged between monitors, update the EWMH current desk if it differs, so that the true current desk is updated. This has the (correct, IMO) consequence that the current EWMH desktop changes depending on which screena command such as `xprop -root -spy | rg _NET_CURRENT` is run from. However, in the case of `DesktopConfiguration` being set to `shared` or `per-monitor`, this should always be the case, as each monitor is allowed to be on different desktops. Fixes #477
Hi @NsCDE Indeed. Can you pleae try One side-effect of this (although I'd argue it is correct in this case), is that if you have The EWMH is not at all clear about what to do here -- then again, this entire model of having different desktops per monitor is breaking the EWMH to begin with, but it's become so common across different WMs that it does need considering. But most other WMs are not EWMH-compliant... You can see for yourself what I mean though, just start a terminal on a screen, and run: |
Hi @ThomasAdam Yes, it works now properly in global mode. You solved what I initially reported as a bug in this issue, but with your comments you opened Pandora's box of other inconsistencies now. :-) Your observations for per-monitor are correct. There are some inconsistencies here. For example, if I'm in per-monitor and have two monitors, one Virtual-0, one on Virtual-1, terminal on each, wmctrl and xprop will NOT so easly switch from desk 0 to desk 1. I need to produce some movement: move or start app windows or walk desks on the monitor, before _NET_CURRENT_DESKTOP is refreshed - changing window focus does not change _NET_CURRENT_DESKTOP. OTOH, FvwmIdent always knows for every window where it is without omission while testing this. What is really interesting, if I have desk 0 active, change desk on monitor Virtual-1 back and forth, _NET_CURRENT_DESKTOP gets updates. But on primary Virtual-0, and output from xprop and wmctrl on focused terminal this is not the case. |
You'll find these inconsistencies in other WMs which operate in this way -- spectrwm will have this problem, for example. The issue here is that I could intern an XAtom to track the current monitor and use that, but that's going to lead to other inconsistencies as well, so I think I'll avoid it for now. What you're seeing here is what I said earlier: I'm happy with the fix I've provided and I'll merge that. |
FVWM was one of the first WMs to adopt the EWMH specification alongside the ICCCM2 specification. As such, some of the means of specifying things like number of desktops can come about in a few different ways. The `DesktopName` command sets the names of each desktop (and therefore implicitly how many desktops there are), but there's also a `EwmhNumberOfDesktops` command to do the same thing. Regardless of which command a user choses, `DesktopName` should set the NumberOfDesktops variable which calculates how many desktops there actually are. Fixes #477
When a window is dragged between monitors, update the EWMH current desk if it differs, so that the true current desk is updated. This has the (correct, IMO) consequence that the current EWMH desktop changes depending on which screena command such as `xprop -root -spy | rg _NET_CURRENT` is run from. However, in the case of `DesktopConfiguration` being set to `shared` or `per-monitor`, this should always be the case, as each monitor is allowed to be on different desktops. Fixes #477
Hi!
I have found another one.
Upfront Information
Please provide the following information by running the command and providing
the output.
Fvwm3 version: current master (17. 4. 2021.)
Linux distribution: Fedora 33
Platform: Linux x86_64
Expected Behaviour
Actual Behaviour
DesktopConfiguration mode diesn't matter.
What should have happened, but didn't?
List of all virtual desks, not just up to the current one. That is, if I run "wmctrl -d" on desk 1, I will get two lines:
... if I go to the last one (desk 3 in this case), I will get them all. Going back to 2, 1 or 0 again narows this list.
This is maybe normal or legal behaviour in FVWM3, but in FVWM2 it was for sure not like that. If this is not a bug, there should be some notice about this list beeing dynamic.
Steps to Reproduce
The usual ... NsCDE current master on fvwm3, install wmctrl tool, run it with "-d" to show desktops.
Does the problem also happen with Fvwm2?
No.
Does Fvwm3 crash?
No.
P. S.
Additionally, as I see now, viewport info and resolution info is also missing under fvwm3.
The text was updated successfully, but these errors were encountered: