diff options
Diffstat (limited to '')
-rw-r--r-- | modules/by-name/ri/river/keymap.nix | 41 |
1 files changed, 28 insertions, 13 deletions
diff --git a/modules/by-name/ri/river/keymap.nix b/modules/by-name/ri/river/keymap.nix index c7db0c54..7976b451 100644 --- a/modules/by-name/ri/river/keymap.nix +++ b/modules/by-name/ri/river/keymap.nix @@ -25,19 +25,18 @@ mkSpawn = pkg: args: further: (mkSpawn' pkg pkg.meta.mainProgram args further); + setMode = path: { + command = [ + "enter-mode" + (builtins.concatStringsSep "" path) + ]; + }; + cfg = config.soispha.programs.river; in { soispha.programs.river.init.mappings.keymap = lib.mkIf cfg.enable (lib.fixedPoints.fix (self: { "<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 "" {}; @@ -50,13 +49,12 @@ in { # Client changes "c" = { + "F" = setMode ["<LEFT_META>" "f"]; + "f" = ["toggle-fullscreen"]; "c" = ["close"]; " " = ["toggle-float"]; "<ENTER>" = ["zoom"]; - "o" = ["send-to-output" "next"]; - "t" = ["swap" "next"]; - "n" = ["swap" "previous"]; }; # This is a fill in for <Super-L>, as that is otherwise nearly impossible to input. @@ -75,8 +73,16 @@ in { "m" = mkSpawn pkgs.mpp "toggle" {}; }; - # Select tags to view. + # Select tags for view. "v" = { + "c" = setMode ["<LEFT_META>" "c"]; + "f" = setMode ["<LEFT_META>" "f"]; + + "t" = ["swap" "next"]; + "n" = ["swap" "previous"]; + "T" = ["send-to-output" "next"]; + "N" = ["send-to-output" "previous"]; + "0" = ["set-view-tags" (builtins.toString ((libraries.base.pow 2 32) - 1))]; "p" = ["send-to-previous-tags"]; @@ -104,8 +110,17 @@ in { }; }; - # Select tags to focus. + # Select tags to focus, + # and change focus "f" = { + "c" = setMode ["<LEFT_META>" "c"]; + "v" = setMode ["<LEFT_META>" "v"]; + + "t" = ["focus-view" "next"]; + "n" = ["focus-view" "previous"]; + "T" = ["focus-output" "next"]; + "N" = ["focus-output" "previous"]; + "0" = ["set-focused-tags" (builtins.toString ((libraries.base.pow 2 32) - 1))]; "p" = ["focus-previous-tags"]; |