From: goe...@motvillig.se
To: fvwm-workers@fvwm.org
Subject: Changing EdgeThickness moves PanFrameRight.win to a wrong position.

Configuration Information [Automatically generated, do not change]:
uname: Linux DellLap1.motvillig.se 5.4.0-65-generic #73-Ubuntu SMP Mon Jan 18 
17:25:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
compiler flags: gcc -Wall -Wno-implicit-int -fno-common -g -O2 
-I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 
-I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16

FVWM Version:   3.0.008f755a4
FVWM_MODULEDIR: /usr/local/libexec/fvwm3/3.0.0
FVWM_DATADIR:   /usr/local/share/fvwm3
FVWM_USERDIR:   /home/goeran/.fvwm

Description:
When changing EdgeThickness, e.g. from default (2) to 1, PanFrameRight.win is
reconfigured with the wrong position (lower right corner instead of upper
right corner). Moving to a page at the right of the current page with the
mouse does not work as expected after that.

Illustrated by xwininfo after starting with EdgeThickness=2 and then
 changing to EdgeThickness=1.

The window in question is 0x200169.

goeran@DellLap1:~$ xwininfo -tree -root | head -30

xwininfo: Window id: 0x7a6 (the root window) (has no name)

  Root window id: 0x7a6 (the root window) (has no name)
  Parent window id: 0x0 (none)
     53 children:
     0x20016a (has no name): ()  1920x2+0+1078  +0+1078
     0x200167 (has no name): ()  1920x2+0+0  +0+0
     0x200169 (has no name): ()  2x1080+1918+0  +1918+0
     0x200168 (has no name): ()  2x1080+0+0  +0+0
     0x2001bf (has no name): ()  101x16+0+0  +0+0
     0x2000d8 "FVWM": ("fvwm" "FVWM")  10x10+-10+-10  +-10+-10

goeran@DellLap1:~$ xwininfo -tree -root | head -30

xwininfo: Window id: 0x7a6 (the root window) (has no name)

  Root window id: 0x7a6 (the root window) (has no name)
  Parent window id: 0x0 (none)
     57 children:
     0x200167 (has no name): ()  1920x1+0+0  +0+0
     0x200168 (has no name): ()  1x1080+0+0  +0+0
     0x200169 (has no name): ()  1x1080+1919+1080  +1919+1080
     0x20016a (has no name): ()  1920x1+0+1079  +0+1079
     0x200aa2 (has no name): ()  61x51+1610+17  +1610+17
     0x200a51 (has no name): ()  129x205+1524+0  +1524+0
     0x200950 (has no name): ()  114x161+1650+207  +1650+207
     0x2001bf (has no name): ()  101x16+0+0  +0+0


Repeat-By:
     Se above.

Fix:
I believe the problem is in virtual.c.  Suggested fix:

*** virtual.c   2021-01-01 12:12:27.981730853 +0100
--- virtual.c.GB        2021-01-29 18:37:16.111064357 +0100
***************
*** 1083,1089 ****
                                XMoveResizeWindow(
                                        dpy, m->PanFrameRight.win,
                                        (m->si->x + m->si->w) - edge_thickness,
!                                       m->si->y + m->si->h,
                                        edge_thickness, (m->si->y + m->si->h));
                        }
                        if (!m->PanFrameRight.isMapped)
--- 1083,1089 ----
                                XMoveResizeWindow(
                                        dpy, m->PanFrameRight.win,
                                        (m->si->x + m->si->w) - edge_thickness,
!                                       m->si->y,
                                        edge_thickness, (m->si->y + m->si->h));
                        }
                        if (!m->PanFrameRight.isMapped)

Reply via email to