From 1e1cd8cc2924c719a27ab92101e9d4087744c238 Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Fri, 16 May 2025 10:24:36 +0200 Subject: ... --- accounts/gkleen@sif/default.nix | 14 +++++++++----- accounts/gkleen@sif/niri/default.nix | 22 ++++++++++++++++++++++ flake.lock | 8 ++++---- flake.nix | 2 +- user-profiles/zsh/default.nix | 3 +++ 5 files changed, 39 insertions(+), 10 deletions(-) diff --git a/accounts/gkleen@sif/default.nix b/accounts/gkleen@sif/default.nix index 1686a278..8a848e8f 100644 --- a/accounts/gkleen@sif/default.nix +++ b/accounts/gkleen@sif/default.nix @@ -282,8 +282,15 @@ in { pro = "$HOME/projects/pro"; media = "$HOME/media"; }; - zsh.zsh-abbr.globalAbbreviations = { - "J" = "| jq '.'"; + jq.colors = { + arrays = "1;37"; + "false" = "0;37"; + "null" = "2;37"; + numbers = "0;37"; + objectKeys = "1;34"; + objects = "1;37"; + strings = "0;32"; + "true" = "0;37"; }; obs-studio = { @@ -323,9 +330,6 @@ in { "kitty_mod+n" = "detach_window"; "kitty_mod+m" = "detach_window ask"; }; - extraConfig = '' - envinclude KITTY_CONF_* - ''; }; fuzzel = { enable = true; diff --git a/accounts/gkleen@sif/niri/default.nix b/accounts/gkleen@sif/niri/default.nix index 09482c51..fde08ae9 100644 --- a/accounts/gkleen@sif/niri/default.nix +++ b/accounts/gkleen@sif/niri/default.nix @@ -140,6 +140,25 @@ let ''; }; with-select-window-action = config.lib.niri.actions.spawn (lib.getExe with_select_window); + + with_predicate_window = pred: pkgs.writeShellApplication { + name = "with-predicate-window"; + runtimeInputs = [ niri pkgs.gojq pkgs.socat config.programs.fuzzel.package pkgs.gawk ]; + text = '' + action="$1" + shift + + windows_json="$(niri msg -j windows)" + window_json="$(gojq -rc 'map(select(${pred})) | .[0]' <<<"$windows_json")" + + [[ -z "$window_json" || $window_json = "null" ]] && exit 1 + + jq -c "$action" <<<"$window_json" | socat STDIO "$NIRI_SOCKET" + ''; + }; + + with-urgent-window-action = config.lib.niri.actions.spawn (lib.getExe (with_predicate_window ".is_urgent")); + with-focused-window-action = config.lib.niri.actions.spawn (lib.getExe (with_predicate_window ".is_focused")); in { imports = [ ./waybar.nix @@ -938,6 +957,9 @@ in { "Mod+X".action = set-dynamic-cast-window; "Mod+Shift+X".action = set-dynamic-cast-monitor; "Mod+Control+Shift+X".action = clear-dynamic-cast-target; + + "Mod+D".action = with-urgent-window-action "{\"Action\":{\"FocusWindow\":{\"id\": .id}}}"; + "Mod+Shift+D".action = with-focused-window-action "{\"Action\":{\"UnsetUrgent\":{\"id\": .id}}}"; })) (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) diff --git a/flake.lock b/flake.lock index 64091d39..a884d6c6 100644 --- a/flake.lock +++ b/flake.lock @@ -1060,16 +1060,16 @@ ] }, "locked": { - "lastModified": 1742140394, - "narHash": "sha256-U1Lp5HZbpnWQRetOLzQl3dURplY2BRfAZYkjBawYrVM=", + "lastModified": 1747383113, + "narHash": "sha256-/YW7eOKU3gsNplxvUDpEj1LiXtcCENSFpS1c8kXSDWw=", "owner": "gkleen", "repo": "Waybar", - "rev": "f310667db199c570b599a08152d49b7f80db93f2", + "rev": "919036587381595f15010ac95644992fe6d7343d", "type": "github" }, "original": { "owner": "gkleen", - "ref": "feat/niri-workspaces-hide", + "ref": "feat/niri-urgency", "repo": "Waybar", "type": "github" } diff --git a/flake.nix b/flake.nix index 0745d37c..039dee1f 100644 --- a/flake.nix +++ b/flake.nix @@ -187,7 +187,7 @@ type = "github"; owner = "gkleen"; repo = "Waybar"; - ref = "feat/niri-workspaces-hide"; + ref = "feat/niri-urgency"; inputs = { nixpkgs.follows = "nixpkgs"; flake-compat.follows = "flake-compat"; diff --git a/user-profiles/zsh/default.nix b/user-profiles/zsh/default.nix index 973ff775..ab523a52 100644 --- a/user-profiles/zsh/default.nix +++ b/user-profiles/zsh/default.nix @@ -21,6 +21,8 @@ abbreviations = { re = "systemctl restart"; ure = "systemctl --user restart"; + st = "systemctl status"; + ust = "systemctl --user status"; }; globalAbbreviations = { "L" = "| less"; @@ -28,6 +30,7 @@ "G" = "| grep"; "B" = "&> /dev/null &"; "BB" = "&> /dev/null &!"; + "J" = lib.mkIf config.programs.jq.enable "| jq '.'"; }; }; -- cgit v1.2.3