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 shows app on wrong page with StartsOnDesk #433

Closed
graudeejs opened this issue Feb 18, 2021 · 2 comments · Fixed by #434
Closed

FvwmPager shows app on wrong page with StartsOnDesk #433

graudeejs opened this issue Feb 18, 2021 · 2 comments · Fixed by #434
Assignees
Labels
has:config Issue has config attached type:bug Something's broken!
Milestone

Comments

@graudeejs
Copy link

graudeejs commented Feb 18, 2021

Upfront Information

  • Fvwm3 version (run: fvwm3 --version)
fvwm3 1.0.2 (released)
with support for:  XPM, PNG, SVG, Shape, XShm, SM, Bidi text, XRandR, XRender, XCursor, XFT, NLS
  • Linux distribution or BSD name/version
    NixOS 20.09.3009.8e78c2cfbae (Nightingale)

Using custom fvwm build https://gitlab.com/graudeejs/etc-nixos/-/tree/master/overlays/personal/pkgs/fvwm3

  • Platform (run: uname -sp)
    Linux unknown

Expected Behaviour

I have a configuration that when I open Firefox it should be started on first desk.
When fvwm starts it goes to 2nd desk.

When I open Firefox it starts correctly on first desk (desk 0), however FvwmPager shows its window on 2nd desk.
If I switch to 2nd desk, I don't see firefox, instead I see windows that were one 2nd desk already present, however when I switch to 1st desk, I see firefox.

Actual Behaviour

FvwmPager shows firefox on wrong desk, unless Firefox was started from same desk as set with StartsOnDesk.
If fvwm is restarted while firefox is running FvwmPager shows firefox on correct desk.

Enabling logging

[1613683557.676969] FScreenInit: Using RandR 1.6
[1613683557.679827] main: Loading window states via (null)
[1613683557.680758] ewmh_ComputeAndSetWorkArea: monitor 'default': {l: 0, r: 0, t: 0, b: 0} {x: 0, y: 0, w: 1200, h: 900}
[1613683557.680765] ewmh_ComputeAndSetWorkArea: differ, so setting work area
[1613683557.681849] FlocaleGetFontSet: [fvwm][FlocaleGetFontSet]: (-*-fixed-medium-r-semicondensed-*-13-*-*-*-*-*-*-*,-*-fixed-medium-r-normal-*-14-*-*-*-*-*-*-*,-*-*-medium-r-normal-*-16-*-*-*-*-*-*-*) Missing font charsets:
[1613683557.681861] FlocaleGetFontSet: ISO8859-2
[1613683557.681863] FlocaleGetFontSet: , 
[1613683557.681865] FlocaleGetFontSet: ISO8859-3
[1613683557.681867] FlocaleGetFontSet: , 
[1613683557.681869] FlocaleGetFontSet: ISO8859-4
[1613683557.681871] FlocaleGetFontSet: , 
[1613683557.681872] FlocaleGetFontSet: ISO8859-5
[1613683557.681874] FlocaleGetFontSet: , 
[1613683557.681876] FlocaleGetFontSet: KOI8-R
[1613683557.681878] FlocaleGetFontSet: , 
[1613683557.681880] FlocaleGetFontSet: ISO8859-7
[1613683557.681881] FlocaleGetFontSet: , 
[1613683557.681883] FlocaleGetFontSet: ISO8859-9
[1613683557.681885] FlocaleGetFontSet: , 
[1613683557.681887] FlocaleGetFontSet: ISO8859-13
[1613683557.681889] FlocaleGetFontSet: , 
[1613683557.681890] FlocaleGetFontSet: ISO8859-14
[1613683557.681892] FlocaleGetFontSet: , 
[1613683557.681894] FlocaleGetFontSet: ISO8859-15
[1613683557.681896] FlocaleGetFontSet: , 
[1613683557.681897] FlocaleGetFontSet: JISX0208.1983-0
[1613683557.681899] FlocaleGetFontSet: , 
[1613683557.681901] FlocaleGetFontSet: KSC5601.1987-0
[1613683557.681903] FlocaleGetFontSet: , 
[1613683557.681905] FlocaleGetFontSet: GB2312.1980-0
[1613683557.681906] FlocaleGetFontSet: , 
[1613683557.681908] FlocaleGetFontSet: JISX0201.1976-0
[1613683557.681910] FlocaleGetFontSet: , 
[1613683557.681912] FlocaleGetFontSet: ISO10646-1
[1613683557.681914] FlocaleGetFontSet: 
[1613683557.690127] CMD_EwmhBaseStruts: mon: default {l: 0, r: 0, t: 0, b: 50}
[1613683557.690134] ewmh_ComputeAndSetWorkArea: monitor 'default': {l: 0, r: 0, t: 0, b: 50} {x: 0, y: 0, w: 1200, h: 850}
[1613683557.690136] ewmh_ComputeAndSetWorkArea: differ, so setting work area
[1613683557.694372] monitor_output_change: monitor_output_change: outputs have changed
[1613683557.694450] monitor_update_ewmh: monitor debug...
[1613683557.694468] monitor_dump_state: Monitor Debug
[1613683557.694471] monitor_dump_state: 	number of outputs: 1
[1613683557.694476] monitor_dump_state: 	Name:	default
	Disabled:	false
	Is Primary:	yes
	Is Current:	yes
	Output:	981
	Coords:	{x: 0, y: 0, w: 1200, h: 900}
	VirtScr: {
		VxMax: 0, VyMax: 0, Vx: 0, Vy: 0
		EdgeScrollX: 0, EdgeScrollY: 0
		CurrentDesk: 0
		CurrentPage: {x: 0, y: 0}
		MyDisplayWidth: 1200, MyDisplayHeight: 900
	}
	Desktops:	yes
	Flags:global

[1613683557.694933] ewmh_ComputeAndSetWorkArea: monitor 'default': {l: 0, r: 0, t: 0, b: 50} {x: 0, y: 0, w: 1200, h: 850}
[1613683557.695369] checkPanFrames: 1 default: {left: 0, right; 0, top: 0, bottom: 0}
[1613683557.695374] checkPanFrames: default: unmap_t: 1, unmap_b: 1, unmap_l: 1, unmap_r: 1
[1613683557.695377] checkPanFrames: 2 default: {left: 0, right; 0, top: 0, bottom: 0}
[1613683557.695555] CMD_GotoDesk: CMD_GotoDesk: using monitor: default
[1613683557.709222] setup_window_placement: Expanding screen from 'null' -> ''
[1613683557.709259] ewmh_ComputeAndSetWorkArea: monitor 'default': {l: 0, r: 0, t: 0, b: 50} {x: 0, y: 0, w: 1200, h: 850}
[1613683557.709263] EWMH_GetWorkAreaIntersection: mon: default {ax: 0, ay: 0, aw: 1200, ah: 850
[1613683557.709266] EWMH_GetWorkAreaIntersection: mon: default {x: 0, y: 0, w: 1200, h: 900
[1613683557.709269] EWMH_GetWorkAreaIntersection: mon: default finalising: {x: 0, y: 0, w: 1200, h: 850}
[1613683557.769629] setup_window_placement: Expanding screen from 'null' -> ''
[1613683557.769680] ewmh_ComputeAndSetWorkArea: monitor 'default': {l: 0, r: 0, t: 0, b: 50} {x: 0, y: 0, w: 1200, h: 850}
[1613683557.769687] EWMH_GetWorkAreaIntersection: mon: default {ax: 0, ay: 0, aw: 1200, ah: 850
[1613683557.769691] EWMH_GetWorkAreaIntersection: mon: default {x: 0, y: 0, w: 1200, h: 900
[1613683557.769707] EWMH_GetWorkAreaIntersection: mon: default finalising: {x: 0, y: 0, w: 1200, h: 850}
[1613683557.871237] ewmh_ComputeAndSetWorkArea: monitor 'default': {l: 0, r: 0, t: 0, b: 50} {x: 0, y: 0, w: 1200, h: 850}
[1613683558.429390] setup_window_placement: Expanding screen from 'null' -> ''
[1613683558.429439] ewmh_ComputeAndSetWorkArea: monitor 'default': {l: 0, r: 0, t: 0, b: 50} {x: 0, y: 0, w: 1200, h: 850}
[1613683558.429448] EWMH_GetWorkAreaIntersection: mon: default {ax: 0, ay: 0, aw: 1200, ah: 850
[1613683558.429453] EWMH_GetWorkAreaIntersection: mon: default {x: 0, y: 0, w: 1200, h: 900
[1613683558.429458] EWMH_GetWorkAreaIntersection: mon: default finalising: {x: 0, y: 0, w: 1200, h: 850}
[1613683558.430201] checkPanFrames: 1 default: {left: 0, right; 0, top: 0, bottom: 0}
[1613683558.430214] checkPanFrames: default: unmap_t: 1, unmap_b: 1, unmap_l: 1, unmap_r: 1
[1613683558.430223] checkPanFrames: 2 default: {left: 0, right; 0, top: 0, bottom: 0}
[1613683565.385833] checkPanFrames: 1 default: {left: 0, right; 0, top: 0, bottom: 0}
[1613683565.385864] checkPanFrames: default: unmap_t: 1, unmap_b: 1, unmap_l: 1, unmap_r: 1
[1613683565.385871] checkPanFrames: 2 default: {left: 0, right; 0, top: 0, bottom: 0}

Steps to Reproduce

This problem doesn't exist on Fvwm2

Minimal config to reproduce issue

Emulate fvwm
DesktopSize 1x1
EwmhNumberOfDesktops 1

DesktopName 0	Web
DesktopName 1	Startup
EWMHBaseStruts 0 0 0 50


*FvwmPagerAll: Rows 1
*FvwmPagerAll: Geometry +0-0
PipeRead 'echo "*FvwmPagerAll: DeskTopScale $(($[vp.height] / 50))"'
*FvwmPagerAll: MiniIcons

Style FvwmPagerAll		Sticky, EWMHIgnoreStrutHints

Style Navigator			StartsOnDesk 0, StartsOnPage 0 0

DestroyFunc StartFunction
AddToFunc StartFunction
+ I Test (Start)	 GotoDesk 1
+ I Test (Start)         Module FvwmPager FvwmPagerAll 0 1
+ I Test (Start)         Exec exec xterm
+ I Test (Start)         Exec exec firefox

Does Fvwm3 crash?

No

Extra Information

None

@graudeejs graudeejs added the type:bug Something's broken! label Feb 18, 2021
@ThomasAdam ThomasAdam added the has:config Issue has config attached label Feb 18, 2021
@ThomasAdam ThomasAdam self-assigned this Feb 18, 2021
@ThomasAdam ThomasAdam added this to the 1.0.3 milestone Feb 18, 2021
ThomasAdam added a commit that referenced this issue Feb 19, 2021
When FvwmPager is asked to place a window in its view via a
{new,configurenotify}event, FvwmPager was previously ignoring the
new_desk event if the window's monitor didn't match.

This isn't correct, and the monitor shouldn't be required for tracking a
new desk.

Fixes #433
@ThomasAdam
Copy link
Member

Hi @graudeejs

Thanks. Please test out the ta/gh-433 branch to see if that fixes this issue.

@graudeejs
Copy link
Author

@ThomasAdam Thank you, ta/gh-433 fixed the issue

ThomasAdam added a commit that referenced this issue Feb 20, 2021
When FvwmPager is asked to place a window in its view via a
{new,configurenotify}event, FvwmPager was previously ignoring the
new_desk event if the window's monitor didn't match.

This isn't correct, and the monitor shouldn't be required for tracking a
new desk.

Fixes #433
@ThomasAdam ThomasAdam moved this to Done in FVWM3 Sep 18, 2022
@ThomasAdam ThomasAdam added this to FVWM3 Sep 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
has:config Issue has config attached type:bug Something's broken!
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants