When resizing windows with my mouse, I can make them disappear entirely by squeezing them out of existence. Once they disappear, I can't bring them back by resizing unless I remove the window that squeezed the now missing window(s) out of existence.
IMO, the fix is to just to avoid shrinking windows beyond a minimum size. This already appears to be the case for windows resized with bspc node commands.
This already appears to be the case for windows resized with bspc node commands.
I have been able to squeeze windows out using keybinds w/ bspc node commands.
You're right, I just didn't test thoroughly (my resize command resizes in increments of 10).
I somewhat don't like idea of enforcing a minimum size, but losing windows by accidentall squeezing is not a good feel. Maybe this could be detected, and then set the node state to hidden or something? I guess then you could have to have a minimum size enforced for when you un-hide the node.
Why not just have a minimum 5px (1px?) size? If you _want_ the node to disappear, mark it hidden.
There's already a limit of 1×1. And I haven't been able to make a window _disappear_. So, I won't mind some reproduce steps…
Open two windows side-by-side and resize one to fill the whole screen (using the mouse works best). Technically, the squashed window doesn't actually disappear entirely, it appears to be covered by the resized window. However, the resized window can't be resized back to a sane size for some reason.
Limiting the size of a leaf isn't enough: its sibling might still cover it.
So the children must ask some space to their parent and if the parent can't provide enough space it would ask its own parent some space, etc.
Tried a little hack here:
https://github.com/baskerville/bspwm/blob/master/src/messages.c#L450
Setting bounds to 0.01 and 0.99 fixes the bspc/keyboard part of the issue for me. Not particularly elegant, but it's something.
Resizing with mouse does not use this ratio logic at all, maybe for tiling mode it should?
Most helpful comment
Why not just have a minimum 5px (1px?) size? If you _want_ the node to disappear, mark it hidden.