diff options
Diffstat (limited to '')
-rw-r--r-- | modules/by-name/i3/i3status-rust/module.nix | 6 | ||||
-rw-r--r-- | modules/by-name/ri/river/keymap.nix | 184 |
2 files changed, 96 insertions, 94 deletions
diff --git a/modules/by-name/i3/i3status-rust/module.nix b/modules/by-name/i3/i3status-rust/module.nix index 5bd911d8..48bcd5de 100644 --- a/modules/by-name/i3/i3status-rust/module.nix +++ b/modules/by-name/i3/i3status-rust/module.nix @@ -81,11 +81,12 @@ in { } { block = "memory"; - format = " $icon $mem_used_percents {($swap_used_percents.eng(range:1..)) | }"; + format = " $icon $mem_used_percents{ ($swap_used_percents.eng(range:1..))|} "; } { block = "amd_gpu"; - format = " $icon $utilization (^icon_memory_mem $vram_used_percents) "; + format = " $icon $utilization (^icon_memory_mem $vram_used_percents) "; + error_format = ""; } { @@ -117,6 +118,7 @@ in { } { block = "battery"; + format = " $icon $percentage{ $time_remaining.dur(hms:true, min_unit:m)|}{ $power|} "; missing_format = ""; } diff --git a/modules/by-name/ri/river/keymap.nix b/modules/by-name/ri/river/keymap.nix index 6873f40e..d1266576 100644 --- a/modules/by-name/ri/river/keymap.nix +++ b/modules/by-name/ri/river/keymap.nix @@ -8,7 +8,7 @@ index2tag = input: builtins.toString (libraries.base.pow 2 (input - 1)); mkTagCommand = name: index: [name (index2tag index)]; - mkSpawnInner = pkg: binaryName: args: further: (further + mkSpawn' = pkg: binaryName: args: further: (further // { command = [ "spawn" @@ -18,114 +18,117 @@ description = "${binaryName} ${args}"; }); - mkSpawnOnce = pkg: args: (mkSpawnInner pkg pkg.meta.mainProgram args {once = true;}); - mkSpawn = pkg: args: (mkSpawn' pkg pkg.meta.mainProgram args); - mkSpawn' = pkg: binaryName: args: (mkSpawnInner pkg binaryName args {}); + mkSpawn = pkg: args: further: (mkSpawn' pkg pkg.meta.mainProgram args further); cfg = config.soispha.programs.river; -in { - soispha.programs.river.init.mappings.keymap = lib.mkIf cfg.enable { - "<LEFT_SUPER>" = { - # Change focus - "f" = { - "t" = ["focus-view" "next"]; - "n" = ["focus-view" "previous"]; - "T" = ["focus-output" "next"]; - "N" = ["focus-output" "previous"]; - }; - # Spawn standard programs - "r" = { - "a" = mkSpawn pkgs.alacritty ""; - "b" = mkSpawn pkgs.tskm "open select"; - "k" = mkSpawn pkgs.keepassxc ""; - "s" = mkSpawn pkgs.signal-desktop ""; - "p" = mkSpawnOnce pkgs.screenshot_persistent ""; - }; + coreKeymap = { + # Change focus + "f" = { + "t" = ["focus-view" "next"]; + "n" = ["focus-view" "previous"]; + "T" = ["focus-output" "next"]; + "N" = ["focus-output" "previous"]; + }; - # Client changes - "c" = { - "f" = ["toggle-fullscreen"]; - "c" = ["close"]; - " " = ["toggle-float"]; - "<ENTER>" = ["zoom"]; - "o" = ["send-to-output" "next"]; - "t" = ["swap" "next"]; - "n" = ["swap" "previous"]; - }; + # Spawn standard programs + "r" = { + "a" = mkSpawn pkgs.alacritty "" {}; + "b" = mkSpawn pkgs.tskm "open select" {once = true;}; + "k" = mkSpawn pkgs.keepassxc "" {once = true;}; + "s" = mkSpawn pkgs.signal-desktop "" {once = true;}; + "p" = mkSpawn pkgs.screenshot_persistent "" {once = true;}; + }; - # River compositor control. - "x" = { - "q" = ["exit"]; - "l" = mkSpawn pkgs.lock ""; - }; + # Client changes + "c" = { + "f" = ["toggle-fullscreen"]; + "c" = ["close"]; + " " = ["toggle-float"]; + "<ENTER>" = ["zoom"]; + "o" = ["send-to-output" "next"]; + "t" = ["swap" "next"]; + "n" = ["swap" "previous"]; + }; - # Media control - "m" = { - "r" = mkSpawn' pkgs.wireplumber "wpctl" "set-volume @DEFAULT_SINK@ 5%+"; - "l" = mkSpawn' pkgs.wireplumber "wpctl" "set-volume @DEFAULT_SINK@ 5%-"; - "m" = mkSpawn pkgs.mpp "toggle"; - }; + # This is a fill in for <Super-L>, as that is otherwise impossible to input. + "l" = coreKeymap.x.l; - # Select tags to view. - "v" = { - "0" = ["set-view-tags" (builtins.toString ((libraries.base.pow 2 32) - 1))]; - "p" = ["send-to-previous-tags"]; - - "1" = mkTagCommand "set-view-tags" 1; - "2" = mkTagCommand "set-view-tags" 2; - "3" = mkTagCommand "set-view-tags" 3; - "4" = mkTagCommand "set-view-tags" 4; - "5" = mkTagCommand "set-view-tags" 5; - "6" = mkTagCommand "set-view-tags" 6; - "7" = mkTagCommand "set-view-tags" 7; - "8" = mkTagCommand "set-view-tags" 8; - "9" = mkTagCommand "set-view-tags" 9; - - # Add tags to view. - "a" = { - "1" = mkTagCommand "toggle-view-tags" 1; - "2" = mkTagCommand "toggle-view-tags" 2; - "3" = mkTagCommand "toggle-view-tags" 3; - "4" = mkTagCommand "toggle-view-tags" 4; - "5" = mkTagCommand "toggle-view-tags" 5; - "6" = mkTagCommand "toggle-view-tags" 6; - "7" = mkTagCommand "toggle-view-tags" 7; - "8" = mkTagCommand "toggle-view-tags" 8; - "9" = mkTagCommand "toggle-view-tags" 9; - }; - }; + # River compositor control. + "x" = { + "q" = ["exit"]; + "l" = mkSpawn pkgs.lock "" {once = true;}; + }; - # Select tags to focus. - "f" = { - "0" = ["set-focused-tags" (builtins.toString ((libraries.base.pow 2 32) - 1))]; - "p" = ["focus-previous-tags"]; - - "1" = mkTagCommand "set-focused-tags" 1; - "2" = mkTagCommand "set-focused-tags" 2; - "3" = mkTagCommand "set-focused-tags" 3; - "4" = mkTagCommand "set-focused-tags" 4; - "5" = mkTagCommand "set-focused-tags" 5; - "6" = mkTagCommand "set-focused-tags" 6; - "7" = mkTagCommand "set-focused-tags" 7; - "8" = mkTagCommand "set-focused-tags" 8; - "9" = mkTagCommand "set-focused-tags" 9; + # Media control + "m" = { + "r" = mkSpawn' pkgs.wireplumber "wpctl" "set-volume @DEFAULT_SINK@ 5%+" {}; + "l" = mkSpawn' pkgs.wireplumber "wpctl" "set-volume @DEFAULT_SINK@ 5%-" {}; + "m" = mkSpawn pkgs.mpp "toggle" {}; + }; + + # Select tags to view. + "v" = { + "0" = ["set-view-tags" (builtins.toString ((libraries.base.pow 2 32) - 1))]; + "p" = ["send-to-previous-tags"]; + + "1" = mkTagCommand "set-view-tags" 1; + "2" = mkTagCommand "set-view-tags" 2; + "3" = mkTagCommand "set-view-tags" 3; + "4" = mkTagCommand "set-view-tags" 4; + "5" = mkTagCommand "set-view-tags" 5; + "6" = mkTagCommand "set-view-tags" 6; + "7" = mkTagCommand "set-view-tags" 7; + "8" = mkTagCommand "set-view-tags" 8; + "9" = mkTagCommand "set-view-tags" 9; + + # Add tags to view. + "a" = { + "1" = mkTagCommand "toggle-view-tags" 1; + "2" = mkTagCommand "toggle-view-tags" 2; + "3" = mkTagCommand "toggle-view-tags" 3; + "4" = mkTagCommand "toggle-view-tags" 4; + "5" = mkTagCommand "toggle-view-tags" 5; + "6" = mkTagCommand "toggle-view-tags" 6; + "7" = mkTagCommand "toggle-view-tags" 7; + "8" = mkTagCommand "toggle-view-tags" 8; + "9" = mkTagCommand "toggle-view-tags" 9; }; }; + # Select tags to focus. + "f" = { + "0" = ["set-focused-tags" (builtins.toString ((libraries.base.pow 2 32) - 1))]; + "p" = ["focus-previous-tags"]; + + "1" = mkTagCommand "set-focused-tags" 1; + "2" = mkTagCommand "set-focused-tags" 2; + "3" = mkTagCommand "set-focused-tags" 3; + "4" = mkTagCommand "set-focused-tags" 4; + "5" = mkTagCommand "set-focused-tags" 5; + "6" = mkTagCommand "set-focused-tags" 6; + "7" = mkTagCommand "set-focused-tags" 7; + "8" = mkTagCommand "set-focused-tags" 8; + "9" = mkTagCommand "set-focused-tags" 9; + }; + }; +in { + soispha.programs.river.init.mappings.keymap = lib.mkIf cfg.enable { + "<LEFT_SUPER>" = coreKeymap; + # Audio "<MEDIA_RAISEVOLUME>" = - (mkSpawn' pkgs.wireplumber "wpctl" "set-volume @DEFAULT_SINK@ 5%+") + coreKeymap.m.r // { allow_locked = true; }; "<MEDIA_LOWERVOLUME>" = - (mkSpawn' pkgs.wireplumber "wpctl" "set-volume @DEFAULT_SINK@ 5%-") + coreKeymap.m.l // { allow_locked = true; }; "<MEDIA_MUTEVOLUME>" = - (mkSpawn pkgs.mpp "toggle") + coreKeymap.m.m // { allow_locked = true; }; @@ -134,10 +137,7 @@ in { "<Meta-<MOUSE_LEFT>>" = ["move-view"]; "<Meta-<MOUSE_RIGHT>>" = ["resize-view"]; - # Lock screen. - "<Meta-L>" = mkSpawn pkgs.lock ""; - # Screenshot - "<PRINTSCREEN>" = mkSpawn pkgs.screenshot_persistent ""; + "<PRINTSCREEN>" = coreKeymap.r.p; }; } |