i3-sway: allow inverse_outer on smart_gaps

Change the boolean `smartGaps` option to an `enum` that expects common
values of i3 and sway ("on" "off" "inverse_outer").
This commit is contained in:
octvs 2026-02-24 19:03:46 +01:00 committed by Austin Horstman
parent a5b92cc213
commit 31ea32fa14
3 changed files with 27 additions and 4 deletions

View file

@ -0,0 +1,9 @@
{
time = "2026-02-24T18:17:29+00:00";
condition = true;
message = ''
The options 'xsession.windowManager.i3.config.gaps.smartGaps' and
'wayland.windowManager.sway.config.gaps.smartGaps' now expects either "on",
"off" (default) or "inverse_outer".
'';
}

View file

@ -189,7 +189,7 @@ rec {
(optionalString (bottom != null) "gaps bottom ${toString bottom}")
(optionalString (left != null) "gaps left ${toString left}")
(optionalString (right != null) "gaps right ${toString right}")
(optionalString smartGaps "smart_gaps on")
(optionalString (smartGaps != "off") "smart_gaps ${smartGaps}")
(optionalString (smartBorders != "off") "smart_borders ${smartBorders}")
]
);

View file

@ -932,13 +932,27 @@ in
};
smartGaps = mkOption {
type = types.bool;
default = false;
type = types.either types.bool (
types.enum [
"on"
"off"
"inverse_outer"
]
);
apply =
value:
if value == true then
"on"
else if value == false then
"off"
else
value;
default = "off";
description = ''
This option controls whether to disable all gaps (outer and inner)
on workspace with a single container.
'';
example = true;
example = "on";
};
smartBorders = mkOption {