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

Page navigation and selection is incorrect after FVWM3 restart/start while two screens are enabled #23

Closed
NsCDE opened this issue Jan 28, 2020 · 3 comments
Assignees
Labels
type:bug Something's broken!
Milestone

Comments

@NsCDE
Copy link
Contributor

NsCDE commented Jan 28, 2020

Continuation from #20 ...

Testing function f_TestSDP works ok in one screen mode, in two screens mode it is working ok if second screen is added during FVWM3 session with xrandr, but if FVWM3 is restarted (or logout + login with secondary screen on), pages are still shifted: after f_TestSDP, on "0 0" there is nothing. On "0 1" tthere is "0 0", on "1 0" there is "0 1", and on "1 1" there is "1 0" - after another Restart, xterm from desk 3, page "1 1" is positioned on desk 0, page "0 0" but iconified. Same behaviour is observed in global and per-monitor mode. If second screen is forced --off with xrandr and FVWM3 restarted, f_TestSDP works again - until FVWM3 is restarted with secondary screen on. This occurs no matter on which page I'm positioned with terminal from which I call f_TestSDP. Screenshot attached here shows window list on Virtual-0 after running f_TestSDP in such conditions. In working state, window list is correct. Probably some buffer must be cleared or shifted back ... you will see this from the order on window list.

This is stderr output during right page selection (no restart):

[fvwm][Echo]: Performing for Screen Virtual-0 ('Virtual-0') ...
monitor_by_name: couldn't find monitor: (c)
monitor_by_name: returning current monitor (Virtual-0)
__place_window: assigned fw to: 0 (Virtual-0)
sh: pointer.screen: syntax error: invalid arithmetic operator (error token is ".screen")
Monitor Debug
number of outputs: 2
Name: Virtual-0
Disabled: false
Is Primary: no
Is Current: yes
Wants Refresh: false
Output: 67
Coords: {x: 0, y: 0, w: 1400, h: 1050}
VirtScr: {
VxMax: 5600, VyMax: 4200, Vx: 0, Vy: 2100
EdgeScrollX: 1400, EdgeScrollY: 1050
CurrentDesk: 0
CurrentPage: {x: 0, y: 2}
MyDisplayWidth: 1400, MyDisplayHeight: 1050
}
Desktops: yes
Flags:per-monitor

monitor_by_name: couldn't find monitor: (c)
monitor_by_name: returning current monitor (Virtual-0)
__place_window: assigned fw to: 0 (Virtual-0)
sh: pointer.screen: syntax error: invalid arithmetic operator (error token is ".screen")
Monitor Debug
number of outputs: 2
Name: Virtual-0
Disabled: false
Is Primary: no
Is Current: yes
Wants Refresh: false
Output: 67
Coords: {x: 0, y: 0, w: 1400, h: 1050}
VirtScr: {
VxMax: 5600, VyMax: 4200, Vx: 2800, Vy: 0
EdgeScrollX: 1400, EdgeScrollY: 1050
CurrentDesk: 0
CurrentPage: {x: 2, y: 0}
MyDisplayWidth: 1400, MyDisplayHeight: 1050
}
Desktops: yes
Flags:per-monitor

monitor_by_name: couldn't find monitor: (c)
monitor_by_name: returning current monitor (Virtual-0)
__place_window: assigned fw to: 0 (Virtual-0)
sh: pointer.screen: syntax error: invalid arithmetic operator (error token is ".screen")
Monitor Debug
number of outputs: 2
Name: Virtual-0
Disabled: false
Is Primary: no
Is Current: yes
Wants Refresh: false
Output: 67
Coords: {x: 0, y: 0, w: 1400, h: 1050}
VirtScr: {
VxMax: 5600, VyMax: 4200, Vx: 2800, Vy: 2100
EdgeScrollX: 1400, EdgeScrollY: 1050
CurrentDesk: 0
CurrentPage: {x: 2, y: 2}
MyDisplayWidth: 1400, MyDisplayHeight: 1050
}
Desktops: yes
Flags:per-monitor

This is stderr output during wrong page selection (after restart):

[fvwm][Echo]: Performing for Screen Virtual-0 ('Virtual-0') ...

Monitor Debug
number of outputs: 2
Name: Virtual-0
Disabled: false
Is Primary: no
Is Current: yes
Wants Refresh: false
Output: 67
Coords: {x: 0, y: 0, w: 1400, h: 1050}
VirtScr: {
VxMax: 5600, VyMax: 4200, Vx: 0, Vy: 0
EdgeScrollX: 2800, EdgeScrollY: 2100
CurrentDesk: 0
CurrentPage: {x: 0, y: 0}
MyDisplayWidth: 1400, MyDisplayHeight: 1050
}
Desktops: yes
Flags:per-monitor

monitor_by_name: couldn't find monitor: (c)
monitor_by_name: returning current monitor (Virtual-0)
__place_window: assigned fw to: 0 (Virtual-0)
Monitor Debug
number of outputs: 2
Name: Virtual-0
Disabled: false
Is Primary: no
Is Current: yes
Wants Refresh: false
Output: 67
Coords: {x: 0, y: 0, w: 1400, h: 1050}
VirtScr: {
VxMax: 5600, VyMax: 4200, Vx: 0, Vy: 2100
EdgeScrollX: 2800, EdgeScrollY: 2100
CurrentDesk: 0
CurrentPage: {x: 0, y: 2}
MyDisplayWidth: 1400, MyDisplayHeight: 1050
}
Desktops: yes
Flags:per-monitor

monitor_by_name: couldn't find monitor: (c)
monitor_by_name: returning current monitor (Virtual-0)
__place_window: assigned fw to: 0 (Virtual-0)
Monitor Debug
number of outputs: 2
Name: Virtual-0
Disabled: false
Is Primary: no
Is Current: yes
Wants Refresh: false
Output: 67
Coords: {x: 0, y: 0, w: 1400, h: 1050}
VirtScr: {
VxMax: 5600, VyMax: 4200, Vx: 2800, Vy: 0
EdgeScrollX: 2800, EdgeScrollY: 2100
CurrentDesk: 0
CurrentPage: {x: 2, y: 0}
MyDisplayWidth: 1400, MyDisplayHeight: 1050
}
Desktops: yes
Flags:per-monitor

monitor_by_name: couldn't find monitor: (c)
monitor_by_name: returning current monitor (Virtual-0)
__place_window: assigned fw to: 0 (Virtual-0)
sh: pointer.screen: syntax error: invalid arithmetic operator (error token is ".screen")
monitor_by_name: couldn't find monitor: (c)
monitor_by_name: returning current monitor (Virtual-0)
Monitor Debug
number of outputs: 2
Name: Virtual-0
Disabled: false
Is Primary: no
Is Current: yes
Wants Refresh: false
Output: 67
Coords: {x: 0, y: 0, w: 1400, h: 1050}
VirtScr: {
VxMax: 5600, VyMax: 4200, Vx: 2800, Vy: 2100
EdgeScrollX: 2800, EdgeScrollY: 2100
CurrentDesk: 0
CurrentPage: {x: 2, y: 2}
MyDisplayWidth: 1400, MyDisplayHeight: 1050
}
Desktops: yes
Flags:per-monitor

monitor_by_name: couldn't find monitor: (c)
monitor_by_name: returning current monitor (Virtual-0)
__place_window: assigned fw to: 0 (Virtual-0)

I can see no difference in this outputs.

If I turn the order in which I walk pages in f_TestSDP from "1 1" to "0 0", first page executed seems to be the one that appears empty.

@ThomasAdam ThomasAdam added the type:bug Something's broken! label Jan 29, 2020
@ThomasAdam ThomasAdam added this to the 3.0 milestone Jan 29, 2020
@ThomasAdam ThomasAdam self-assigned this Jan 29, 2020
@ThomasAdam
Copy link
Member

Hi @NsCDE,

Is this bug still valid, given what we've done in #24?

@NsCDE
Copy link
Contributor Author

NsCDE commented May 2, 2020

Sorry, I didn't saw your question 4 days ago as it seems.

I think this is obsolete with #24 and can be closed for now.

@ThomasAdam
Copy link
Member

Awesome. Thank you!

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

No branches or pull requests

2 participants