voidrice/.scripts/i3cmds/i3switchempty
Luuk van Baal ec6ec0b226 Added script which switches to the workspace which a window is being moved to, if
that action makes the current workspace empty.
2018-11-26 21:11:23 +01:00

17 lines
677 B
Bash
Executable File

#!/bin/bash
# Original sript below modified to not use `jq` for improved performance (~4 times as fast) and no dependencies.
# https://github.com/tasinet/i3-switch-if-workspace-empty/blob/master/i3-switch-if-workspace-empty.sh
new_workspace=$1
if [ "" == "$new_workspace" ]; then
echo expecting workspace name/number
exit 1
fi
active_workspace=$(i3-msg -t get_workspaces | grep -Po '[0-9]*","visible":[a-z]*,"focused":true' | head -c1)
toplevel_containers=$(i3-msg -t get_tree | grep -Po "\"num\":$active_workspace.*" | grep -Po '"nodes":(\d*?,|.*?[^\\]",)' | head -n1 | grep -Po '"nodes":\[\]')
[ "$toplevel_containers" != "" ] && i3-msg workspace $new_workspace