mirror of
https://codeberg.org/muon/home.git
synced 2025-12-06 08:07:45 +00:00
Add workspace abstraction
This commit is contained in:
parent
b1071c246c
commit
bec17bcb0f
1 changed files with 24 additions and 10 deletions
|
|
@ -31,10 +31,18 @@
|
|||
};
|
||||
};
|
||||
|
||||
xsession.windowManager.i3 = {
|
||||
xsession.windowManager.i3 = let
|
||||
modifier = "Mod4";
|
||||
wsAmount = 10;
|
||||
genSpaces = f: map builtins.toString (
|
||||
builtins.genList f wsAmount
|
||||
);
|
||||
workspaces = genSpaces (x: x+1);
|
||||
|
||||
in {
|
||||
enable = true;
|
||||
config = {
|
||||
modifier = "Mod4";
|
||||
modifier = modifier;
|
||||
terminal = "alacritty";
|
||||
menu = "rofi -show drun";
|
||||
|
||||
|
|
@ -48,22 +56,28 @@
|
|||
focus.wrapping = "yes";
|
||||
|
||||
keybindings = let
|
||||
modifier = config.xsession.windowManager.i3.config.modifier;
|
||||
|
||||
# modKeyComb: string -> valueAction: string
|
||||
# -> keys: [string] -> values: [string]
|
||||
# -> keybindings: attrSet { string -> string }
|
||||
zipBinds = comb: action: keys: values: (
|
||||
builtins.listToAttrs (lib.zipListsWith (k: v:
|
||||
{ name = "${modifier}${comb}${k}"; value = "${action} ${v}"; }
|
||||
) keys values)
|
||||
builtins.listToAttrs (lib.zipListsWith (k: v: {
|
||||
name = "${modifier}${comb}${k}";
|
||||
value = "${action} ${v}";
|
||||
}) keys values)
|
||||
);
|
||||
|
||||
moveKeys = ["h" "j" "k" "l"];
|
||||
moveDirs = ["left" "down" "up" "right"];
|
||||
focus = zipBinds "+" "focus" moveKeys moveDirs;
|
||||
move = zipBinds "+Shift+" "move" moveKeys moveDirs;
|
||||
in lib.mkOptionDefault (focus // move);
|
||||
|
||||
workspKeys = genSpaces (x: x);
|
||||
|
||||
in lib.mkOptionDefault (
|
||||
(zipBinds "+" "focus" moveKeys moveDirs) //
|
||||
(zipBinds "+Shift+" "move" moveKeys moveDirs) //
|
||||
(zipBinds "+" "workspace number" workspKeys workspaces) //
|
||||
(zipBinds "+Shift+" "move container to workspace number"
|
||||
workspKeys workspaces)
|
||||
);
|
||||
|
||||
bars = let
|
||||
stylix_bar = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue