baskerville / bspwm

A tiling window manager based on binary space partitioning
BSD 2-Clause "Simplified" License
7.6k stars 420 forks source link

remove_disabled_monitors and remove_unplugged_monitors config appear not to work #1406

Closed tplsofteng closed 1 year ago

tplsofteng commented 1 year ago

I have these lines in my bspmwrc:

bspc config remove_disabled_monitors true bspc config remove_unplugged_monitors true bspc config merge_overlapping_monitors true

I initially have my internal laptop display and external HDMI I run:

bspc query -M --names

And correctly get: HDMI-A-0 eDP

I disconnect my hdmi monitor and still get: HDMI-A-0 eDP

whereas xrandr reports the HDMI as disconnected: Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 16384 x 16384 eDP connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 309mm x 174mm 1920x1080 60.02*+ 48.02 1680x1050 60.02 1280x1024 60.02 1440x900 60.02 1280x800 60.02 1280x720 60.02 1024x768 60.02 800x600 60.02 640x480 60.02 HDMI-A-0 disconnected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 0mm x 0mm

I have tried with both merge_overlapping_monitors and without. The result is the same.

ortango commented 1 year ago

HDMI-A-0 disconnected primary 1920x1080+0+0

in X an output can be disconnected, but enabled. that xrandr output showing the display geometry means this is the case for HDMI-A-0.

bspwm's update_monitors() will consider a monitor in this state as wired and will not remove it.

tplsofteng commented 1 year ago

HDMI-A-0 disconnected primary 1920x1080+0+0

in X an output can be disconnected, but enabled. that xrandr output showing the display geometry means this is the case for HDMI-A-0.

bspwm's update_monitors() will consider a monitor in this state as wired and will not remove it.

Thank you for the explanation. I ran the following to turn off the display: xrandr --output HDMI-A-0 --off

And all now works as expected.