hide_edge_borders may affect split floating containers
- Dominant language
- C
- Stars
- 10.6k
- Forks
- 822
- PR merge metrics
- No merged PRs in 30d
Description
## I'm submitting a…
[x] Bug
[ ] Feature Request
[ ] Documentation Request
[ ] Other (Please describe in detail)
## Current Behavior
It looks like this function checks whether the container is floating, but it doesn't go up the hierarchy to make sure its parents aren't.
https://github.com/i3/i3/blob/9db03797da3cea5dc6898adc79a68ba4523a409c/src/con.c#L1707-L1712
I suspect this might cause a border aligning with the edge of the screen to disappear if hide_edge_borders is enabled and con is a child of a split floating container.
## Expected Behavior
hide_edge_borders should skip all floating trees entirely.
## Reproduction Instructions
Possible repro:
- Place a floating window so its border is right at the edge of the screen
- Create a new split
- The border disappears
## Suggested fix
Replace `con_is_floating()` with `con_inside_floating()`.
I'm filing this as an issue rather than opening a pull request because I'm not using i3 anymore, and I can't actually test my findings. I've found a similar bug in sway and decided to look at i3 to see if something similar was going on, related pr: https://github.com/swaywm/sway/pull/6278.
Contributor guide
Assessment
This issue has not been assessed yet.