about summary refs log tree commit diff stats
path: root/modules/by-name
diff options
context:
space:
mode:
Diffstat (limited to 'modules/by-name')
-rw-r--r--modules/by-name/ri/river/keymap.nix15
1 files changed, 15 insertions, 0 deletions
diff --git a/modules/by-name/ri/river/keymap.nix b/modules/by-name/ri/river/keymap.nix
index 05f7a4ba..7976b451 100644
--- a/modules/by-name/ri/river/keymap.nix
+++ b/modules/by-name/ri/river/keymap.nix
@@ -25,6 +25,13 @@
 
   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
@@ -42,6 +49,8 @@ in {
 
         # Client changes
         "c" = {
+          "F" = setMode ["<LEFT_META>" "f"];
+
           "f" = ["toggle-fullscreen"];
           "c" = ["close"];
           " " = ["toggle-float"];
@@ -66,6 +75,9 @@ in {
 
         # 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"];
@@ -101,6 +113,9 @@ in {
         # 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"];