about summary refs log tree commit diff stats
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--modules/by-name/ri/river/keymap.nix20
1 files changed, 12 insertions, 8 deletions
diff --git a/modules/by-name/ri/river/keymap.nix b/modules/by-name/ri/river/keymap.nix
index 8ad341aa..6873f40e 100644
--- a/modules/by-name/ri/river/keymap.nix
+++ b/modules/by-name/ri/river/keymap.nix
@@ -8,15 +8,19 @@
   index2tag = input: builtins.toString (libraries.base.pow 2 (input - 1));
 
   mkTagCommand = name: index: [name (index2tag index)];
-  mkSpawn' = pkg: binaryName: args: {
-    command = [
-      "spawn"
-      "${lib.getExe' pkg binaryName} ${args}"
-    ];
+  mkSpawnInner = pkg: binaryName: args: further: (further
+    // {
+      command = [
+        "spawn"
+        "${lib.getExe' pkg binaryName} ${args}"
+      ];
 
-    description = "${binaryName} ${args}";
-  };
+      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 {});
 
   cfg = config.soispha.programs.river;
 in {
@@ -36,7 +40,7 @@ in {
         "b" = mkSpawn pkgs.tskm "open select";
         "k" = mkSpawn pkgs.keepassxc "";
         "s" = mkSpawn pkgs.signal-desktop "";
-        "p" = mkSpawn pkgs.screenshot_persistent "";
+        "p" = mkSpawnOnce pkgs.screenshot_persistent "";
       };
 
       # Client changes