aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-07-01 13:00:39 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-07-01 13:00:39 +0200
commit9fff92e00a285885910cafd508df6d98ef0921e2 (patch)
tree7e1e816556b7bd62c6f8fd257c76dee85d74b20e /modules/by-name
parentmodules/river/keymap: Avoid Ctrl in keymaps (diff)
downloadnixos-config-9fff92e00a285885910cafd508df6d98ef0921e2.zip
{modules/river,pkgs/river-mk-keymap}: Support `once` key mappings
Otherwise, the prompt for the new screenshot is overshadowed by the normal key mappings in the `run` mode.
Diffstat (limited to 'modules/by-name')
-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