aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop/eww/workspaces.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules/desktop/eww/workspaces.sh')
-rw-r--r--modules/desktop/eww/workspaces.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/modules/desktop/eww/workspaces.sh b/modules/desktop/eww/workspaces.sh
new file mode 100644
index 0000000..18193fa
--- /dev/null
+++ b/modules/desktop/eww/workspaces.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+print_workspaces() {
+ niri msg -j workspaces | jq -c --unbuffered 'sort_by(.idx)'
+}
+
+print_workspaces
+
+niri msg -j event-stream | while IFS= read -r line; do
+ case "$line" in
+ *WorkspacesChanged*|*WorkspaceActivated*|*WorkspaceUrgencyChanged*|*WorkspaceActiveWindowChanged*)
+ print_workspaces
+ ;;
+ esac
+done