1
0
Fork 0
This commit is contained in:
dtb 2023-07-09 11:39:37 -04:00
parent 07371c9c53
commit 0bf36980a1
1 changed files with 26 additions and 18 deletions

View File

@ -7,10 +7,14 @@ test -n "$XJIGGLER_DELAY_ACTION" \
|| XJIGGLER_DELAY_ACTION=300 # seconds || XJIGGLER_DELAY_ACTION=300 # seconds
test -n "$XJIGGLER_DELAY_DETECTION" \ test -n "$XJIGGLER_DELAY_DETECTION" \
|| XJIGGLER_DELAY_DETECTION=60 # seconds || XJIGGLER_DELAY_DETECTION=60 # seconds
test -n "$XJIGGLER_KEYBOARD_ENABLED" \
|| XJIGGLER_KEYBOARD_ENABLED='' # zero-len nonzero-len
test -n "$XJIGGLER_MOUSE_DIRECTION" \ test -n "$XJIGGLER_MOUSE_DIRECTION" \
|| XJIGGER_MOUSE_DIRECTION=CIRCULAR # "CIRCULAR" "DIAGONAL" || XJIGGER_MOUSE_DIRECTION=CIRCULAR # "CIRCULAR" "DIAGONAL"
test -n "$XJIGGLER_MOUSE_DISTANCE" \ test -n "$XJIGGLER_MOUSE_DISTANCE" \
|| XJIGGLER_MOUSE_DISTANCE=1 # pixels || XJIGGLER_MOUSE_DISTANCE=1 # pixels
test -n "$XJIGGLER_MOUSE_ENABLED" \
|| XJIGGLER_MOUSE_ENABLED=yes # zero-len nonzero-len
# eval is scary but this use was mentioned in the man page # eval is scary but this use was mentioned in the man page
getmouselocation(){ getmouselocation(){
@ -19,22 +23,25 @@ getmouselocation(){
} }
jiggle(){ jiggle(){
case "$XJIGGLER_MOUSE_DIRECTION" in if test -n "$XJIGGLER_MOUSE_ENABLED"
up) xdotool mousemove_relative 0 -"$XJIGGLER_MOUSE_DISTANCE" then
return ;; case "$XJIGGLER_MOUSE_DIRECTION" in
right) xdotool mousemove_relative "$XJIGGLER_MOUSE_DISTANCE" 0 up) xdotool mousemove_relative 0 -"$XJIGGLER_MOUSE_DISTANCE"
return ;; return ;;
down) xdotool mousemove_relative 0 "$XJIGGLER_MOUSE_DISTANCE" right) xdotool mousemove_relative "$XJIGGLER_MOUSE_DISTANCE" 0
return ;; return ;;
left) xdotool mousemove_relative -"$XJIGGLER_MOUSE_DISTANCE" 0 down) xdotool mousemove_relative 0 "$XJIGGLER_MOUSE_DISTANCE"
return ;; return ;;
DIAGONAL) xdotooltool mousemove_relative left) xdotool mousemove_relative -"$XJIGGLER_MOUSE_DISTANCE" 0
"$XJIGGLER_MOUSE_DISTANCE" return ;;
"$XJIGGLER_MOUSE_DISTANCE" DIAGONAL) xdotooltool mousemove_relative
return ;; "$XJIGGLER_MOUSE_DISTANCE"
*) "$XJIGGLER_MOUSE_DISTANCE"
false ;; return ;;
esac *)
false ;;
esac
fi
} }
pushmouselocation(){ pushmouselocation(){
@ -63,14 +70,15 @@ rotatemousedirection(){
} }
usage(){ usage(){
printf 'Usage: %s (-ch) (-s [action delay seconds])\n' "$0">&2 printf 'Usage: %s (-chm) (-s [action delay seconds])\n' "$0">&2
exit 64 # sysexits(3) EX_USAGE exit 64 # sysexits(3) EX_USAGE
} }
while getopts :chs: OPTION while getopts :chms: OPTION
do do
case "$OPTION" in case "$OPTION" in
c) XJIGGLER_MOUSE_DIRECTION=circular ;; c) XJIGGLER_MOUSE_DIRECTION=circular ;;
m) XJIGGLER_MOUSE_ENABLED='' ;;
s) XJIGGLER_DELAY_ACTION="$(OPTARG)" ;; s) XJIGGLER_DELAY_ACTION="$(OPTARG)" ;;
*) usage ;; *) usage ;;
esac esac