aboutsummaryrefslogtreecommitdiff
path: root/.scripts/bspwm_resize.sh
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2023-10-22 22:50:02 +0200
committersrdusr <trevorgray@srdusr.com>2023-10-22 22:50:02 +0200
commita4f18086ba7ce108ebb041b9b0c52bf522413000 (patch)
tree8d63a98b329f4af486f38db47d0b6049c6e441d8 /.scripts/bspwm_resize.sh
parentbf45ef759815ad7ac3f6423114a96f4d56d1a2a2 (diff)
parent68a2612c8b737f6770a4d23848fe6409ddce7888 (diff)
downloaddotfiles-a4f18086ba7ce108ebb041b9b0c52bf522413000.tar.gz
dotfiles-a4f18086ba7ce108ebb041b9b0c52bf522413000.zip
Add '.scripts/' from commit 'a4ba0376ba73b1bb295d8bb459a4bf2b063ddca9'
git-subtree-dir: .scripts git-subtree-mainline: 03c0cf66468d5e04c0e3559f9f89b5eec28feb9e git-subtree-split: a4ba0376ba73b1bb295d8bb459a4bf2b063ddca9
Diffstat (limited to '.scripts/bspwm_resize.sh')
-rwxr-xr-x.scripts/bspwm_resize.sh67
1 files changed, 67 insertions, 0 deletions
diff --git a/.scripts/bspwm_resize.sh b/.scripts/bspwm_resize.sh
new file mode 100755
index 0000000..29ab5cf
--- /dev/null
+++ b/.scripts/bspwm_resize.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+size=${2:-'10'}
+dir=$1
+
+# Find current window mode
+is_tiled() {
+bspc query -T -n | grep -q '"state":"tiled"'
+}
+# If the window is floating, move it
+if ! is_tiled; then
+#only parse input if window is floating,tiled windows accept input as is
+ case "$dir" in
+ west) switch="-w"
+ sign="-"
+ ;;
+ east) switch="-w"
+ sign="+"
+ ;;
+ north) switch="-h"
+ sign="-"
+ ;;
+ south) switch="-h"
+ sign="+"
+ ;;
+ esac
+ xdo resize ${switch} ${sign}${size}
+
+# Otherwise, window is tiled: switch with window in given direction
+else
+ case "$dir" in
+ west) bspc node @west -r -$size || bspc node @east -r -${size}
+ ;;
+ east) bspc node @west -r +$size || bspc node @east -r +${size}
+ ;;
+ north) bspc node @south -r -$size || bspc node @north -r -${size}
+ ;;
+ south) bspc node @south -r +$size || bspc node @north -r +${size}
+ ;;
+ esac
+fi
+
+##!/bin/bash
+#
+#[ "$#" -eq 3 ] || { echo "Needs exactly three arguments."; exit 1; }
+#
+#motion="$1"
+#direction="$2"
+#size="$3"
+#
+#if [ "$motion" = 'expand' ]; then
+# # These expand the window's given side
+# case "$direction" in
+# north) bspc node -z top 0 -"$size" ;;
+# east) bspc node -z right "$size" 0 ;;
+# south) bspc node -z bottom 0 "$size" ;;
+# west) bspc node -z left -"$size" 0 ;;
+# esac
+#else
+# # These contract the window's given side
+# case "$direction" in
+# north) bspc node -z top 0 "$size" ;;
+# east) bspc node -z right -"$size" 0 ;;
+# south) bspc node -z bottom 0 -"$size" ;;
+# west) bspc node -z left "$size" 0 ;;
+# esac
+#fi