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
test -n "$XJIGGLER_DELAY_DETECTION" \
|| XJIGGLER_DELAY_DETECTION=60 # seconds
test -n "$XJIGGLER_KEYBOARD_ENABLED" \
|| XJIGGLER_KEYBOARD_ENABLED='' # zero-len nonzero-len
test -n "$XJIGGLER_MOUSE_DIRECTION" \
|| XJIGGER_MOUSE_DIRECTION=CIRCULAR # "CIRCULAR" "DIAGONAL"
test -n "$XJIGGLER_MOUSE_DISTANCE" \
|| 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
getmouselocation(){
@ -19,22 +23,25 @@ getmouselocation(){
}
jiggle(){
case "$XJIGGLER_MOUSE_DIRECTION" in
up) xdotool mousemove_relative 0 -"$XJIGGLER_MOUSE_DISTANCE"
return ;;
right) xdotool mousemove_relative "$XJIGGLER_MOUSE_DISTANCE" 0
return ;;
down) xdotool mousemove_relative 0 "$XJIGGLER_MOUSE_DISTANCE"
return ;;
left) xdotool mousemove_relative -"$XJIGGLER_MOUSE_DISTANCE" 0
return ;;
DIAGONAL) xdotooltool mousemove_relative
"$XJIGGLER_MOUSE_DISTANCE"
"$XJIGGLER_MOUSE_DISTANCE"
return ;;
*)
false ;;
esac
if test -n "$XJIGGLER_MOUSE_ENABLED"
then
case "$XJIGGLER_MOUSE_DIRECTION" in
up) xdotool mousemove_relative 0 -"$XJIGGLER_MOUSE_DISTANCE"
return ;;
right) xdotool mousemove_relative "$XJIGGLER_MOUSE_DISTANCE" 0
return ;;
down) xdotool mousemove_relative 0 "$XJIGGLER_MOUSE_DISTANCE"
return ;;
left) xdotool mousemove_relative -"$XJIGGLER_MOUSE_DISTANCE" 0
return ;;
DIAGONAL) xdotooltool mousemove_relative
"$XJIGGLER_MOUSE_DISTANCE"
"$XJIGGLER_MOUSE_DISTANCE"
return ;;
*)
false ;;
esac
fi
}
pushmouselocation(){
@ -63,14 +70,15 @@ rotatemousedirection(){
}
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
}
while getopts :chs: OPTION
while getopts :chms: OPTION
do
case "$OPTION" in
c) XJIGGLER_MOUSE_DIRECTION=circular ;;
m) XJIGGLER_MOUSE_ENABLED='' ;;
s) XJIGGLER_DELAY_ACTION="$(OPTARG)" ;;
*) usage ;;
esac