aboutsummaryrefslogtreecommitdiff
path: root/linux/home/.config/bspwm/scripts/bspwm-toggle-visibility.sh
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2025-08-30 19:22:59 +0200
committersrdusr <trevorgray@srdusr.com>2025-08-30 19:22:59 +0200
commit19120d4f9761c67d99ed1ce3da6084b83f5a49c9 (patch)
treef234cad1bdad88114a63c9702144da487024967a /linux/home/.config/bspwm/scripts/bspwm-toggle-visibility.sh
parent5928998af5404ae2be84c6cecc10ebf84bd3f3ed (diff)
downloaddotfiles-19120d4f9761c67d99ed1ce3da6084b83f5a49c9.tar.gz
dotfiles-19120d4f9761c67d99ed1ce3da6084b83f5a49c9.zip
Linux-specific dotfiles
Diffstat (limited to 'linux/home/.config/bspwm/scripts/bspwm-toggle-visibility.sh')
-rwxr-xr-xlinux/home/.config/bspwm/scripts/bspwm-toggle-visibility.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/linux/home/.config/bspwm/scripts/bspwm-toggle-visibility.sh b/linux/home/.config/bspwm/scripts/bspwm-toggle-visibility.sh
new file mode 100755
index 0000000..45a4c53
--- /dev/null
+++ b/linux/home/.config/bspwm/scripts/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