about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-07-25 17:58:22 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-07-25 17:58:22 +0200
commit3f5e3fc2025f2c48edd250871b27bbd761b8b1b8 (patch)
tree2133cdaf5e9f1558b8939bf4db205f477fef7f1f
parentmodules/river/keymap: Use consistent view focus and move mappings (diff)
downloadnixos-config-3f5e3fc2025f2c48edd250871b27bbd761b8b1b8.zip
modules/river/keymap: Provide a quicker way to switch between common modes prime
-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"];