helm/base/arch-desktop/bin/bspc-focus
2017-12-13 18:28:21 -05:00

38 lines
769 B
Bash
Executable file

#!/usr/bin/env bash
# bspc-focus
# Jump to the next window in a direction. If -m is supplied, jump to the next
# monitor in that direction.
#
# Makes switching nodes more intuitive.
#
# Usage: bspc-focus [-m] (west|south|north|east)
# Example:
# + bspc-focus south
# + bspc-focus -m west
set -e
leap=
if [[ $1 == -m ]]; then
leap=1; shift
fi
dir=$1
case $dir in west|south|north|east) ;;
*) >&2 echo "Not a valid direction: $dir"
exit 1
esac
if [[ $leap ]]; then
# jump to monitor in direction
bspc monitor -f "$dir"
else
# jump to window in direction (unless at edge of last monitor)
if ! bspc node -f "$dir.local"; then
if [[ $(bspc query -M -m "$dir") ]]; then
bspc monitor -f "$dir"
fi
fi
fi