FvwmPager display the content of the desktop with the mousepointer, rather than *Monitor
Closed this issue · 8 comments
- Fvwm3 version (run:
fvwm3 --version
)
fvwm3 1.0.6a (released)
with support for: ReadLine, XPM, PNG, SVG, Shape, XShm, SM, XRandR, XRender, XCursor, XFT
- Linux distribution or BSD name/version
Gentoo
- Platform (run:
uname -sp
)
Linux 12th Gen Intel(R) Core(TM) i7-12700
Expected Behaviour
Given a 2 monitor setup with HDMI-1-0 above DP-1 and the following .fvwm2rc:
DeskTopSize: 2x2
DesktopConfiguration: per-monitor
*FvwmPager: Geometry 114x114-0+0@DP-1
*FvwmPager: Monitor DP-1
*UpperPager: Geometry 114x114-0+0@HDMI-1-0
*UpperPager: Monitor HDMI-1-0
AddToFunc StartFunction
+ I Module FvwmPager 0 0
+ I Module FvwmPager UpperPager 0 0
... I expected 2 FvwmPager instances to pop up each on its respective monitor with the content of that monitor.
Actual Behaviour
However, what actually happens is that both of the pagers show the content of the same monitor/desktop where the mouse pointer was when the pagers were launched. My "workaround" now is to kill one of the pagers, move the mouse pointer to the respective monitor and launch the pager manually (so, typically, I'd move to HDMI-1-0, kill the fvwmpager there and restart it from the command line with FvwmCommand 'FvwmPager UpperPager 0 0'
. Then the pager pops up with the content of HDMI-1-0. After that bit everything works as expected (i.e. page changes are reflected correctly in the respective FvwmPager).
Steps to Reproduce
With the setup above:
- Move the mouse pointer to DP-1
- In a terminal (on DP-1):
$ pgrep -i -a fvwmpager
5156 /usr/libexec/fvwm3/1.0.6a/FvwmPager 14 5 none 0 8 0 0
26627 /usr/libexec/fvwm3/1.0.6a/FvwmPager 14 5 none 0 8 UpperPager 0 0
$ kill 26627
$ FvwmCommand 'FvwmPager UpperPager 0 0'
$
- Observe that the second pager pops up on HDMI-1-0, BUT with the content of DP-1. With logging enabled the only line reported by fvwm3 is:
[1681130980.067989] setup_window_placement: Expanding screen from 'null' -> ''
If I check the status of fvwm3 as reported to fvwm3.pipe, I see:
{
"version": 2,
"current_screen": "HDMI-1-0",
"desktop_mode": "per-monitor",
"screens": {
"DP-1": {
"desktops": {}
},
"HDMI-1-0": {
"desktops": {},
"current_client": "<my xterm title string>"
}
}
}
#611 mentions something related, but there it is an issue on DesktopConfiguration: shared
I'm not changing the way FvwmPager works based on mouse focus. That's too difficult and too confusing.
If you want multiple FvwmPager instances per monitor, configure each FvwmPager instance.
I'm not changing the way FvwmPager works based on mouse focus. That's too difficult and too confusing.
If you want multiple FvwmPager instances per monitor, configure each FvwmPager instance.
I think I expressed myself unclearly -- I want one instance of FvwmPager per monitor with the content of that monitor. Today this does not happen (as per setup above).
In fact, I am asking for exactly the opposite -- IMVHO FvwmPager should respect the *Monitor
settings for selecting the content, NOT which monitor may or may not have the mouse pointer.
Understood, and thank you for clarifying. I'll reopen this, and as discussed on IRC, if you can upload a short video, that will also help.
desktops.mp4
Thanks for the video, and the instructions. I too use per-monitor
mode, and using the following configuration, I cannot reproduce the problem you're describing -- for me, both FvwmPager instances are always tracking the monitor they're configured for.
DestroyModuleConfig FEP1: *
*FEP1: Geometry 361x86+1486+136@HDMI-1
*FEP1: Monitor HDMI-1
DestroyModuleConfig FEP2: *
*FEP2: Geometry 361x86+1507+1127@DP-1
*FEP2: Monitor DP-1
KillModule FvwmPager FEP1
Module FvwmPager FEP1
KillModule FvwmPager FEP2
Module FvwmPager FEP2
Sorry for the delay on this -- please can you have a look at the ta/gh-841
branch? This fixes the issue you reported for me.
Any chance for feedback? If not, I’ll merge this soon. It seems to work for me.