From 42b152de6aef86f94e825062a68655305b986b0c Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Thu, 15 May 2025 13:52:39 +0200 Subject: ... --- accounts/gkleen@sif/default.nix | 3 +++ accounts/gkleen@sif/niri/default.nix | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index 36a81f83..1686a278 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix @@ -282,6 +282,9 @@ in { pro = "$HOME/projects/pro"; media = "$HOME/media"; }; + zsh.zsh-abbr.globalAbbreviations = { + "J" = "| jq '.'"; + }; obs-studio = { enable = true; diff --git a/accounts/gkleen@sif/niri/default.nix b/accounts/gkleen@sif/niri/default.nix index af1af07a..0fae56a7 100644 --- a/accounts/gkleen@sif/niri/default.nix +++ b/accounts/gkleen@sif/niri/default.nix @@ -45,7 +45,6 @@ let ''; }; focus-or-spawn-action = config.lib.niri.actions.spawn (lib.getExe focus_or_spawn); - focus-or-spawn-action-app_id = app_id: focus-or-spawn-action ''select(.app_id == "${app_id}")''; with_adjacent_workspace = pkgs.writeShellApplication { name = "with-adjacent-workspace"; @@ -171,6 +170,17 @@ in { type = lib.types.nullOr lib.types.str; default = null; }; + moveKey = lib.mkOption { + type = lib.types.nullOr lib.types.str; + default = let + keys = lib.splitString "+" config.key; + defMoveKey = lib.concatStringsSep "+" (lib.flatten [ + (lib.take (lib.length keys - 1) keys) + ["Shift"] + (lib.takeEnd 1 keys) + ]); + in if config.key == null then null else defMoveKey; + }; spawn = lib.mkOption { type = lib.types.nullOr (lib.types.listOf lib.types.str); default = null; @@ -923,13 +933,14 @@ in { "Mod+Comma".action = spawn makoctl "restore"; "Mod+Control+W".action = with-empty-unnamed-workspace-action "{\"Action\":{\"FocusWorkspace\":{\"reference\":{\"Id\": $workspace_id}}}}"; - "Mod+Control+Shift+W".action = with-empty-unnamed-workspace-action "{\"Action\":{\"MoveColumnToWorkspace\":{\"reference\":{\"Id\": $workspace_id}}}}"; + "Mod+Control+Shift+W".action = with-empty-unnamed-workspace-action "{\"Action\":{\"MoveColumnToWorkspace\":{\"reference\":{\"Id\": $workspace_id}, \"focus\": true}}}"; "Mod+X".action = set-dynamic-cast-window; "Mod+Shift+X".action = set-dynamic-cast-monitor; "Mod+Control+Shift+X".action = clear-dynamic-cast-target; })) (map ({ name, selector, spawn, key, ...}: if key != null && selector != null && spawn != null then bind key { action = focus-or-spawn-action selector name spawn; } else null) cfg.scratchspaces) + (map ({ name, moveKey, ...}: if moveKey != null then bind moveKey { action = kdl.magic-leaf "move-column-to-workspace" name; } else null) cfg.scratchspaces) ] )) ]; -- cgit v1.2.3