aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2023-09-18 22:20:54 +0200
committersrdusr <trevorgray@srdusr.com>2023-09-18 22:20:54 +0200
commit7b8434f5b5572304c7991e6d8d35978dc23f4564 (patch)
tree8fdad8e9d11e51b81b46569070b8c0c4f7c20853
parentad9b040976772d4d9888a7c3f61b7989a0d63468 (diff)
downloaddotfiles-7b8434f5b5572304c7991e6d8d35978dc23f4564.tar.gz
dotfiles-7b8434f5b5572304c7991e6d8d35978dc23f4564.zip
Bspwm script to toggle window visibility
-rwxr-xr-xbspwm-toggle-visibility.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/bspwm-toggle-visibility.sh b/bspwm-toggle-visibility.sh
new file mode 100755
index 0000000..45a4c53
--- /dev/null
+++ b/bspwm-toggle-visibility.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+# Created By: srdusr
+# Created On: Mon 18 Sep 2023 18:37:21 CAT
+# Project: Bspwm script to toggle visibility of initial window and bring focus back to it
+
+# Get the ID of the currently focused desktop
+current_desktop_id=$(bspc query -D -d focused --names)
+
+# Get the ID of the first hidden window in the current desktop
+hidden_window_id=$(bspc query -N -d "$current_desktop_id" -n .hidden | head -n 1)
+
+# Check if there's a hidden window in the current desktop
+if [[ -n "$hidden_window_id" ]]; then
+ # There's a hidden window, so unhide it
+ bspc node "$hidden_window_id" -g hidden=off
+ # Bring focus back to the previously hidden window
+ bspc node -f "$hidden_window_id"
+else
+ # There's no hidden window in the current desktop, hide the first available window
+ first_window_id=$(bspc query -N -n focused.window)
+ bspc node "$first_window_id" -g hidden=on
+fi