Skip to content
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

FvwmPager display the content of the desktop with the mousepointer, rather than *Monitor #841

Closed
code-schnappi opened this issue Apr 10, 2023 · 8 comments · Fixed by #856
Assignees
Labels
type:bug Something's broken!
Milestone

Comments

@code-schnappi
Copy link

code-schnappi commented Apr 10, 2023

  • 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>"
    }
  }
}
@code-schnappi code-schnappi added the type:bug Something's broken! label Apr 10, 2023
@code-schnappi
Copy link
Author

#611 mentions something related, but there it is an issue on DesktopConfiguration: shared

@ThomasAdam
Copy link
Member

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.

@ThomasAdam ThomasAdam added the skip:changelog Issue/PR should skip CHANGELOG label Apr 10, 2023
@ThomasAdam ThomasAdam closed this as not planned Won't fix, can't repro, duplicate, stale Apr 10, 2023
@code-schnappi
Copy link
Author

code-schnappi commented Apr 10, 2023

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.

@ThomasAdam
Copy link
Member

Hi @code-schnappi

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.

@ThomasAdam ThomasAdam removed the skip:changelog Issue/PR should skip CHANGELOG label Apr 10, 2023
@ThomasAdam ThomasAdam added this to the 1.0.7 milestone Apr 10, 2023
@ThomasAdam ThomasAdam self-assigned this Apr 10, 2023
@ThomasAdam ThomasAdam reopened this Apr 10, 2023
@code-schnappi
Copy link
Author

desktops.mp4

@ThomasAdam
Copy link
Member

Hi @code-schnappi

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

ThomasAdam added a commit that referenced this issue Jun 21, 2023
When parsing the "Monitor" keyword as part of the configuration syntax,
skip the whitespace which can occur from reading in some configs --
otherwise this is treated literally.

Fixes #841
@ThomasAdam
Copy link
Member

Hi @code-schnappi

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.

@ThomasAdam
Copy link
Member

Hi @code-schnappi

Any chance for feedback? If not, I’ll merge this soon. It seems to work for me.

ThomasAdam added a commit that referenced this issue Jul 6, 2023
When parsing the "Monitor" keyword as part of the configuration syntax,
skip the whitespace which can occur from reading in some configs --
otherwise this is treated literally.

Fixes #841
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:bug Something's broken!
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants