diff options
-rw-r--r-- | modules/user/aszlig/services/i3/default.nix | 17 | ||||
-rw-r--r-- | tests/aszlig/i3.nix | 10 |
2 files changed, 18 insertions, 9 deletions
diff --git a/modules/user/aszlig/services/i3/default.nix b/modules/user/aszlig/services/i3/default.nix index 7b578026..093ac2df 100644 --- a/modules/user/aszlig/services/i3/default.nix +++ b/modules/user/aszlig/services/i3/default.nix @@ -20,15 +20,17 @@ let headModifier = if cfg.reverseHeads then reverseList else id; getHeadAt = elemAt (headModifier xrandrHeads); + mkSwitchTo = number: "$mod+${if number == 10 then "0" else toString number}"; + mkDefaultWorkspace = number: numberSymbol: { name = toString number; - value = mkDefault { - label = null; - labelPrefix = "${toString number}: "; - keys.switchTo = "$mod+${if number == 10 then "0" else toString number}"; - keys.moveTo = "$mod+Shift+${numberSymbol}"; - head = if headCount == 0 then null - else getHeadAt ((number - (excessWs + 1)) / wsPerHead); + value = { + label = mkDefault null; + labelPrefix = mkDefault "${toString number}: "; + keys.switchTo = mkDefault (mkSwitchTo number); + keys.moveTo = mkDefault "$mod+Shift+${numberSymbol}"; + head = if headCount == 0 then mkDefault null + else mkDefault (getHeadAt ((number - (excessWs + 1)) / wsPerHead)); }; }; @@ -71,7 +73,6 @@ in workspaces = mkOption { type = types.attrsOf (types.submodule (import ./workspace.nix)); - default = listToAttrs (imap mkDefaultWorkspace wsNumberSymbols); description = '' Workspace to monitor assignment. diff --git a/tests/aszlig/i3.nix b/tests/aszlig/i3.nix index c6b84b76..408a476d 100644 --- a/tests/aszlig/i3.nix +++ b/tests/aszlig/i3.nix @@ -7,7 +7,15 @@ imports = [ <nixpkgs/nixos/tests/common/x11.nix> ]; vuizvui.user.aszlig.profiles.base.enable = true; - vuizvui.user.aszlig.services.i3.enable = true; + + vuizvui.user.aszlig.services.i3 = { + enable = true; + + workspaces."1" = { + label = "first"; + assign = lib.singleton { class = "^test\$"; }; + }; + }; services.xserver.windowManager.default = lib.mkForce "i3"; /* XXX */ |