-
-
Notifications
You must be signed in to change notification settings - Fork 78
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
EdgeScroll does not work #381
Comments
Issue-Label Bot is automatically applying the label Links: app homepage, dashboard and code for this bot. |
Hi @slazav Works fine for me using your example. Can you provide further details? |
In fvwm2 (2.6.9) when I move mouse to a screen edge, cursor changes, then scrolling happens. |
Hi @slazav, Then you need to read the issue template for filing bugs, because there I've recommended:
... so if you can try this and attached the log file fvwm3 produces, I'll take a look. |
I have a notebook (eDP1) with additional external monitor (DP1), configured with xrandr --output DP1 --same-as eDP1 |
Hi @slazav OK, so there's....
Which tells me that for the position you were in at that time, both the top and left panframes were disabled, presumably because you were on page |
Yes, it was page (0,0). When I'm moving mouse to any edge, nothing happens, nothing is written to the file. If I switch to the page (1,0) and back with "scroll +100 +0", "scroll -100 +0" I have
If I move a window to page (1,0) and back I have:
|
Hi @slazav, Right -- it's because of how I'm trying to mimic panframes working. Fix will be coming up in a bit. |
Trying to move/unmap panframes per monitor is a pain, and will result in a state-tracking system which becomes pointless. Therefore, map panwindows when appropriate and leave them there. Fixes #381
Trying to move/unmap panframes per monitor is a pain, and will result in a state-tracking system which becomes pointless. Therefore, map panwindows when appropriate and leave them there. Fixes #381
Does not work correctly. If I move cursor to the top, left, or bottom side of any page, then cursor changes. Switching happens only if there is a page behind this side (as expected). If I move it to the right side on any page nothing happens. Logs. I'm on page (0,0).
Scroll -100 0, trying to go left (again no switching):
Scroll +100 0, Scroll -100 0, going right and then back (Scroll command works as expected)
Moving mouse to the top, left, bottom side:
Moving mouse to the right side |
Hi @ThomasAdam To have everything back to normal, I had to partially revert your commit with:
/* |
Hey @phileimer Indeed -- I've reopened this, but your suggestion isn't the correct fix. I know it'll help in your situation though. |
When working out where to place the panframes when moving between them, don't move the y boundary off the screen. Noticed by Göran Bengtson Fixes #381
Hi all, Please can you try |
Hi @ThomasAdam, I tested this ta/gh-381 branch and it behaves the same way than master: I loose the ability to unhide my taskbar. However, this triggered a reread of man page, and I found my configuration file did not set EdgeThickness. Now, it's up to you to understand why it's been working for me since a while, with EdgeThickness defaulting to 2. |
When panframes are created, the DesktopConfiguration is taken in to account. This means that during startup, the panframes will be initialised in the global state, but could change to being per-monitor shortly afterward. The implementation assumed that all monitors would needed to have been checked, however this isn't true in the case of per-monitor mode; as a result, panframes around other monitors were being unmapped. Instead, callers of checkPanFrames() already know which monitor needs to be involved and can pass that through. This change removes the previous should_free_panframe() call as it's never used from more than one place, so can be inlined once more. In doing so, s/Bool/bool/ since Bool is reserved for X11 purposes. Fixes #381, fixes #401
When panframes are created, the DesktopConfiguration is taken in to account. This means that during startup, the panframes will be initialised in the global state, but could change to being per-monitor shortly afterward. The implementation assumed that all monitors would needed to have been checked, however this isn't true in the case of per-monitor mode; as a result, panframes around other monitors were being unmapped. Instead, callers of checkPanFrames() already know which monitor needs to be involved and can pass that through. This change removes the previous should_free_panframe() call as it's never used from more than one place, so can be inlined once more. In doing so, s/Bool/bool/ since Bool is reserved for X11 purposes. Fixes #381, fixes #401
When panframes are created, the DesktopConfiguration is taken in to account. This means that during startup, the panframes will be initialised in the global state, but could change to being per-monitor shortly afterward. The implementation assumed that all monitors would needed to have been checked, however this isn't true in the case of per-monitor mode; as a result, panframes around other monitors were being unmapped. Instead, callers of checkPanFrames() already know which monitor needs to be involved and can pass that through. This change removes the previous should_free_panframe() call as it's never used from more than one place, so can be inlined once more. In doing so, s/Bool/bool/ since Bool is reserved for X11 purposes. Fixes #381, fixes #401
Hey @phileimer, @slazav, Please take a look at |
When panframes are created, the DesktopConfiguration is taken in to account. This means that during startup, the panframes will be initialised in the global state, but could change to being per-monitor shortly afterward. The implementation assumed that all monitors would needed to have been checked, however this isn't true in the case of per-monitor mode; as a result, panframes around other monitors were being unmapped. Instead, callers of checkPanFrames() already know which monitor needs to be involved and can pass that through. This change removes the previous should_free_panframe() call as it's never used from more than one place, so can be inlined once more. In doing so, s/Bool/bool/ since Bool is reserved for X11 purposes. Fixes #381, fixes #401
Hi @ThomasAdam |
Hi @phileimer Sweet! Thanks for letting me know. Unless I hear anything else negative, I'll look to get this merged next week. |
Thanks! For me it works better, but still not perfect. My settings:
Just after starting fvwm3 I'm at the page (0,0), and mouse scrolls through edges do not work at all. But after I drag a window through an edge once, or do Scroll command it start working as expected. Starting fvwm3:
scroll command to another page and back:
now scroll with mouse works:
|
When panframes are created, the DesktopConfiguration is taken in to account. This means that during startup, the panframes will be initialised in the global state, but could change to being per-monitor shortly afterward. The implementation assumed that all monitors would needed to have been checked, however this isn't true in the case of per-monitor mode; as a result, panframes around other monitors were being unmapped. Instead, callers of checkPanFrames() already know which monitor needs to be involved and can pass that through. This change removes the previous should_free_panframe() call as it's never used from more than one place, so can be inlined once more. In doing so, s/Bool/bool/ since Bool is reserved for X11 purposes. Fixes #381, fixes #401
Hi @slazav Yeah -- this is because of where I was calling Please retest, all! |
Still ok for me! |
Everything looks good now! |
Thanks. Is any of this testing against multi monitor setups with different resolutions to one another? |
When panframes are created, the DesktopConfiguration is taken in to account. This means that during startup, the panframes will be initialised in the global state, but could change to being per-monitor shortly afterward. The implementation assumed that all monitors would needed to have been checked, however this isn't true in the case of per-monitor mode; as a result, panframes around other monitors were being unmapped. Instead, callers of checkPanFrames() already know which monitor needs to be involved and can pass that through. This change removes the previous should_free_panframe() call as it's never used from more than one place, so can be inlined once more. In doing so, s/Bool/bool/ since Bool is reserved for X11 purposes. Fixes #381, fixes #401
I have two monitors with same resolution, configured with xrandr --same-as setting. I changed one to a smaller resolution. Not sure how it should work, but nothing bad happened. Smaller one shows only top-left area of each page, switching to other pages work as before. After restarting fvwm nothing changes, only FvwmPager which is normally in the bottom-right corner moves to the corner of the smaller monitor. |
Also checked that switching between two monitors showing same page: |
Excellent. Thanks! |
In my configuration I have:
After switching from fvwm2 to fvwm3 (1.0.2 release) scrolling with mouse stop working. It still works if I'm moving a window through the screen edge.
The text was updated successfully, but these errors were encountered: