Hello,

Having display issues with fvwm (v2.2.5, the one in the base system). On
a 32" external monitor, it only uses the top half of the screen. I have
a 3x3 fvvwm desktop. On start-up, only the 1st quadrant is used:

+-------------------+-------------------+
|                   |                   |
|         x         |                   |
|                   |                   |
+-------------------+-------------------+
|                   |                   |
|                   |                   |
|                   |                   |
+-------------------+-------------------+

If I open firefox, which is pinned to page 2, display changes to this:

+-------------------+-------------------+
|                   |                   |
|       xterm       |      firefox      |
|                   |                   |
+-------------------+-------------------+
|                   |                   |
|                   |                   |
|                   |                   |
+-------------------+-------------------+

If I open a 3rd page, it's rendered on the 1st quadrant. If I switch to
page 2, page 2 and 3 render on the first two quadrants. Restarting fvwm,
xsession, or rebooting the machine (after connecting the monitor)
doesn't fix it.

$ xrandr -q:

Screen 0: minimum 320 x 200, current 3840 x 2160, maximum 16384 x 16384
eDP-1 connected primary (normal left inverted right x axis y axis)
   1920x1080     60.00 +  60.00    48.00  
   1680x1050     60.00  
   (omitted...)
   320x180       59.99  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 connected 3840x2160+0+0 (normal left inverted right x axis y
axis) 697mm x 392mm
   3840x2160     30.00*   25.00    24.00    29.97    23.98  
   (omitted...)
   640x480       60.00    59.94  

.xsession content:

export LANG=en_US.UTF-8
xsetroot -def
srandrd ~/.config/srandrd/handler.sh &
ssh-agent fvwm

srandr handler:

#!/bin/sh

if [ "$SRANDRD_OUTPUT" = "HDMI-2" ]; then
    case "$SRANDRD_EVENT" in
        connected)
            xrandr --output eDP-1 --off --output HDMI-2 --auto
            xinput set-prop /dev/wsmouse "Device Accel Constant
Deceleration" 0.3
            ;;
        disconnected)
            xrandr --output HDMI-2 --off --output eDP-1 --auto
            xinput set-prop /dev/wsmouse "Device Accel Constant
Deceleration" 1.0
            ;;
    esac
fi

.fvwmrc:

DesktopSize 3x3

Style "*" ClickToFocus, SmartPlacement

# Lock screen edges: prevent viewport jumping
EdgeScroll 0 0
EdgeThickness 0
EdgeResistance -1 -1

Style "firefox"  StartsOnPage 0 1 0
Style "Chromium-browser" StartsOnPage 0 1 1
Style "Xmessage" Sticky, WindowListSkip, CirculateSkip

Key Return  A   4   Exec xterm
Key p       A   4   Exec dmenu_run
Key m       A   4S  Exec xterm -name "Mutt" -e mutt
Key c       A   4S  CloseAndRefocus
Key m       A   4   Maximize 100 100
Key i       A   4   ShowStatus
Key r       A   4S  Restart /usr/X11R6/bin/fvwm
Key q       A   4S  Quit

Key Tab     A   M   WindowList Root 100 0 NoGeometry, CurrentAtEnd

Key j       A   4   Next (CurrentPage !Iconic) FocusAndRaise
Key k       A   4   Prev (CurrentPage !Iconic) FocusAndRaise

# Change page
Key 1       A   4   GotoPageAndFocus 0 0
Key 2       A   4   GotoPageAndFocus 1 0
Key 3       A   4   GotoPageAndFocus 2 0
Key 4       A   4   GotoPageAndFocus 0 1
Key 5       A   4   GotoPageAndFocus 1 1
Key 6       A   4   GotoPageAndFocus 2 1
Key 7       A   4   GotoPageAndFocus 0 2
Key 8       A   4   GotoPageAndFocus 1 2
Key 9       A   4   GotoPageAndFocus 2 2

# Move active window to page
Key 1       A   4S  MoveToPage 0 0
Key 2       A   4S  MoveToPage 1 0
Key 3       A   4S  MoveToPage 2 0
Key 4       A   4S  MoveToPage 0 1
Key 5       A   4S  MoveToPage 1 1
Key 6       A   4S  MoveToPage 2 1
Key 7       A   4S  MoveToPage 0 2
Key 8       A   4S  MoveToPage 1 2
Key 9       A   4S  MoveToPage 2 2

DestroyFunc FocusAndRaise
AddToFunc FocusAndRaise
+ I Focus
+ I Raise

DestroyFunc CloseAndRefocus
AddToFunc CloseAndRefocus
+ I Prev (CurrentPage !Iconic) FocusAndRaise
+ I Close

DestroyFunc GotoPageAndFocus
AddToFunc GotoPageAndFocus
+ I GotoPage $0 $1
+ I FlipFocus

DestroyFunc GotoPageAndFocus
AddToFunc GotoPageAndFocus
+ I GotoPage $0 $1
+ I Next (CurrentPage !Iconic) FocusAndRaise

DestroyFunc ShowStatus
AddToFunc ShowStatus
+ I Exec exec ~/.fvwm/status

No .xsession-errors.

I've used the same .xsession and srandr handler with dwm without
problems.

-- 
Sadeep

Reply via email to