Hi,
currently the code of force_on_change always enforces the configured monitor setups when the xrandr module is called.
On my system this behaviour causes a reset to configured force_on_change layouts when I switch the layout using the mouse.
As the behaviour and the implementation do not match the behaviour suggested by the option name I implemented a check that run the enforcement only when the monitor setup changed.
I'll open a PR for that.
Regards,
Andrwe
Can we have your config too? And number of outputs? To reproduce / understand this issue.
@lasers
Sure here is the xrandr config section:
xrandr {
fallback = True
force_on_start = "eDP-1=HDMI-1"
eDP-1_mode = "1920x1080"
DP-1_pos = "right-of eDP-1"
HDMI-1_pos = "left-of eDP-1"
HDMI-2_pos = "right-of eDP-1"
# py3status > 3.7
#HDMI-1_primary = True
force_on_change = ["HDMI-1", "HDMI-1=eDP-1", "eDP-1"]
}
And the outputs:
Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 8192 x 8192
eDP-1 connected primary (normal left inverted right x axis y axis)
1920x1080 60.02 + 60.01 59.97 59.96 59.93 48.01
1680x1050 59.95 59.88
1600x1024 60.17
1400x1050 59.98
1600x900 59.99 59.94 59.95 59.82
1280x1024 60.02
1440x900 59.89
1400x900 59.96 59.88
1280x960 60.00
1440x810 60.00 59.97
1368x768 59.88 59.85
1360x768 59.80 59.96
1280x800 59.99 59.97 59.81 59.91
1152x864 60.00
1280x720 60.00 59.99 59.86 59.74
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
1024x576 59.95 59.96 59.90 59.82
960x600 59.93 60.00
960x540 59.96 59.99 59.63 59.82
800x600 60.00 60.32 56.25
840x525 60.01 59.88
864x486 59.92 59.57
800x512 60.17
700x525 59.98
800x450 59.95 59.82
640x512 60.02
720x450 59.89
700x450 59.96 59.88
640x480 60.00 59.94
720x405 59.51 58.99
684x384 59.88 59.85
680x384 59.80 59.96
640x400 59.88 59.98
576x432 60.06
640x360 59.86 59.83 59.84 59.32
512x384 60.00
512x288 60.00 59.92
480x270 59.63 59.82
400x300 60.32 56.34
432x243 59.92 59.57
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
HDMI-1 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
2560x1440 59.95*+
1920x1200 59.95
1920x1080 60.00 50.00 59.94
1920x1080i 60.00 50.00 59.94 50.00
1680x1050 59.88
1280x1024 75.02 60.02
1440x900 59.90
1280x720 60.00 50.00 59.94
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00
720x576i 50.00
720x480 60.00 59.94
720x480i 60.00 59.94
640x480 75.00 60.00 59.94
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
DVI-I-3-3 disconnected (normal left inverted right x axis y axis)
DVI-I-2-2 disconnected (normal left inverted right x axis y axis)
DVI-I-1-1 disconnected (normal left inverted right x axis y axis)
When I'm switching the layout using the mouse click feature (e.g. from HDMI-1 to eDP-1+HDMI-1) the monitors are configured and with the next call by py3status they are switched back to HDMI-1 as it's the first force_on_change layout.
After applying the patch of #1974 the modules does not switch back.
@ultrabug ?
I believe this one got fixed, if not plz reopen
Most helpful comment
Can we have your config too? And
number ofoutputs? To reproduce / understand this issue.