diff options
Diffstat (limited to '.config/bspwm/scripts/drag-float')
| -rwxr-xr-x | .config/bspwm/scripts/drag-float | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/.config/bspwm/scripts/drag-float b/.config/bspwm/scripts/drag-float deleted file mode 100755 index 788e978..0000000 --- a/.config/bspwm/scripts/drag-float +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/env bash - -: "${BUTTON:=1}" - -node="$(bspc query -N -n pointed)" - -die() { - jobs -p | xargs -r -n1 -I{} kill {} - exit -} - -trap 'die' USR1 - -{ bspc subscribe node_focus | while read -r _ _ _ wid; do - (( wid != node )) && break; done; kill -USR1 "$$" ;} & -{ while xinput list \ - | sed -nE 's,.*id=([0-9]+).*slave\s+pointer.*,\1,p' \ - | xargs -r -n1 -I{} xinput query-state {} 2> /dev/null \ - | grep -qF "button[${BUTTON}]=down"; do sleep .3; done; kill -USR1 "$$" ;} & - -if bspc node "$node.tiled" -f; then - node_tiled_rect=($(bspc query -T -n "$node" | jq -r '.client.tiledRectangle[]')) - bspc node "$node" -t floating - xdo move -x "${node_tiled_rect[0]}" -y "${node_tiled_rect[1]}" "$node" - xdo resize -w "${node_tiled_rect[2]}" -h "${node_tiled_rect[3]}" "$node" -elif bspc node "$node.floating" -f; then - : -else - die -fi - -eval "$(xdotool getmouselocation --shell)" -x="$X" y="$Y" -while :; do - eval "$(xdotool getmouselocation --shell)" - (( X != x || Y != y )) && { - bspc node "$node" -v "$((X - x))" "$((Y - y))" - x="$X" y="$Y" - } -done - -wait |
