-
Notifications
You must be signed in to change notification settings - Fork 794
Description
Known issues / possible improvements
- Ensure gaps work with titlebars without a compositor: Draw decorations on own frame for V/H #1966
- Window size isn’t evenly distributed, in particular with large gaps: gaps: change workspace rendering to fix sizes with large outer gaps #5252
Original issue text:
Desired Behavior
After a recent discussion between @stapelberg and myself, we would like to reconsider bringing gaps into i3 itself, effectively deprecating i3-gaps. The main rationale here is that there clearly are thousands of users who want gaps.
In order to do so, we need to implement not only gaps, but also all of the current i3-gaps features as listed below. This issue serves as an umbrella issue, if necessary we can create separate issues for the individual features. Before work on this can be started, we need to state our expectations:
- This is not about simply porting the gaps patch into i3. The current gaps patch is kept simple enough to make upstream maintenance possible; this means, however, that in many ways it is more of a hack and doesn't live up to our quality expectations. We should therefore consider – and discuss – how gaps can be brought into i3 in a clean way, particularly including support for titlebars.
- At this point in time, there is no final decision on whether we would merge this. It very much depends on the discussion and the solution we can find.
Gaps
This list tracks the core gaps features that need to be supported
- Current i3-gaps configuration and command surface:
- Configuration:
gaps [inner|outer|horizontal|vertical|top|left|bottom|right] <px> - Configuration:
workspace <ws> gaps [inner|outer|horizontal|vertical|top|left|bottom|right] <px> - Command:
gaps inner|outer|horizontal|vertical|top|right|bottom|left current|all set|plus|minus|toggle <px>
- Configuration:
- Make gaps information properly available on the IPC (required for in-place restart)
- Provide tests for gaps
We should overall strive to be compatible with i3-gaps to minimize friction, but where sensible we may deviate. For example, workspace-level gaps are currently solved a bit awkward in i3-gaps.
Gaps-related features
The following list tracks other features that need to be supported in i3 as well¹.
-
smart_gaps on | inverse_outer -
smart_borders no_gaps² -
hide_edge_borders smart_no_gaps
¹ Note that we may choose to rename features if necessary.
² smart_borders on is an alias for hide_edge_borders smart and will thus be ignored here.
Linking related issues for visibility: #1474, #3611, #2890
Please keep the discussion on this issue solely about how to move gaps to i3. Other questions or feature requests should be posted as new issues. As this will likely be a long and technical discussion I will hide any off topic comments. Thank you!
Environment
Output of i3 --moreversion 2>&-:
i3 version: 4.16.1