Open patrick96 opened 2 years ago
bspwm + polybar user here: I am experiencing the same behavior.
As far as I understand, bspwm changes padding values to deal with panels. The padding values are not changed back in case a panel is killed.
I was thinking about a few ways to deal with this:
Another problem is the user-defined padding values. Let's imagine the following scenario.
bspc config left_padding 10
.What should be the left padding value after the panel/dock is killed? 0 or 10? Trying to undo padding values gives rise to many such edge cases.
I am maintaining polybar and have over time had many people mention that after polybar is killed, bspwm leaves a gap where the bar was. It looks to me that bspwm respects
_NET_WM_STRUT_PARTIAL
of the bar when it is started and adds a gap to the screen edge, but when the bar is stopped and the window disappears, the gap remains (even though no application is defining any struts anymore).Is this intentional behavior?
Steps to reproduce
I have run my test in a
Xephyr
instance (Xephyr :1 -screen 400x300
) with an emptybspwmrc
. I'm using tint2 version 17.0.2 (just to show that this doesn't exclusively happen with polybar :wink:).Fresh startup with only terminal running:
After starting tint2:
After killing (Ctrl-C)
tint2
:As you can see the gap created for the tint2 struts remain and one has to run
bspc config top_padding 0
to remove them.For good measure, here is the
xprop
output for the tint2 bar: