8c3cce964a14a9c9488bf470bbe037487b0735c9

Author
Thomas Renoth <github@mnus.de>
Committer
GitHub <noreply@github.com>
Date

Message

feat(bgnotify): add niri WM support (#13707)

Diff

 1diff --git a/plugins/bgnotify/bgnotify.plugin.zsh b/plugins/bgnotify/bgnotify.plugin.zsh
 2index 4c1613eed175995590e1126ba71bfaedc9553d26..6e129c5095cf8e9f491bae5621c0451e82473723 100644
 3--- a/plugins/bgnotify/bgnotify.plugin.zsh
 4+++ b/plugins/bgnotify/bgnotify.plugin.zsh
 5@@ -67,6 +67,9 @@ function bgnotify_appid {
 6   elif [[ -n $WAYLAND_DISPLAY ]] && ([[ -n $SWAYSOCK ]] || [[ -n $I3SOCK ]]) && (( ${+commands[swaymsg]} )); then # wayland+sway
 7     local app_id=$(bgnotify_find_sway_appid)
 8     [[ -n "$app_id" ]] && echo "$app_id" || echo $EPOCHSECONDS
 9+  elif [[ -n $NIRI_SOCKET ]]; then # niri
10+    local app_id=$(bgnotify_find_niri_appid)
11+    [[ -n "$app_id" ]] && echo "$app_id" || echo $EPOCHSECONDS
12   elif [[ -z $WAYLAND_DISPLAY ]] && [[ -n $DISPLAY ]] && (( ${+commands[xprop]} )); then
13     xprop -root _NET_ACTIVE_WINDOW 2>/dev/null | cut -d' ' -f5
14   else
15@@ -106,6 +109,12 @@ function bgnotify_find_sway_appid {
16   fi
17 }
18 
19+function bgnotify_find_niri_appid {
20+  if (( ${+commands[jq]} )); then
21+    niri msg -j windows | jq '.[] | select(.is_focused) | {app_id, id} | join(",")'
22+  fi
23+}
24+
25 function bgnotify_programid {
26   case "$TERM_PROGRAM" in
27     iTerm.app) echo 'com.googlecode.iterm2' ;;