Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>master
parent
72cc974f20
commit
6448587eb8
6 changed files with 192 additions and 21 deletions
@ -0,0 +1,125 @@ |
||||
#!/usr/bin/env sh |
||||
ACTION="$1" |
||||
|
||||
XPROPOUT="$(xprop -id "$(xdotool getactivewindow)")" |
||||
WMCLASS="$(echo "$XPROPOUT" | grep WM_CLASS | cut -d ' ' -f3- | cut -d ' ' -f1 | tr -d '\",')" |
||||
|
||||
HANDLE=1 |
||||
if [ -x "$XDG_CONFIG_HOME"/sxmo/hooks/gesture ]; then |
||||
#hook script must exit with a zero exit code ONLY if it has handled the gesture! |
||||
"$XDG_CONFIG_HOME"/sxmo/hooks/gesture "$WMCLASS" "$@" |
||||
HANDLE=$? |
||||
fi |
||||
|
||||
if [ "$HANDLE" -ne 0 ]; then |
||||
#special context-sensitive handling |
||||
case "$WMCLASS" in |
||||
"foxtrotgps") |
||||
# E.g. just a check to ignore 1-finger gestures in foxtrotgps |
||||
if [ "$ACTION" != "killwindow" ]; then |
||||
HANDLE=0 |
||||
fi |
||||
;; |
||||
"st-256color") |
||||
# First we try to handle the app running inside st: |
||||
WMNAME=$(echo "$XPROPOUT" | grep -E "^WM_NAME" | cut -d ' ' -f3-) |
||||
if echo "$WMNAME" | grep -i -w tuir; then |
||||
if [ "$ACTION" = "enter" ]; then |
||||
xdotool key o |
||||
HANDLE=0 |
||||
elif [ "$ACTION" = "back" ]; then |
||||
xdotool key s |
||||
HANDLE=0 |
||||
fi |
||||
fi |
||||
;; |
||||
esac |
||||
fi |
||||
|
||||
if [ "$HANDLE" -ne 0 ]; then |
||||
#standard handling |
||||
case "$ACTION" in |
||||
"prevdesktop") |
||||
xdotool key --clearmodifiers Alt+Shift+e |
||||
;; |
||||
"nextdesktop") |
||||
xdotool key --clearmodifiers Alt+Shift+r |
||||
;; |
||||
"moveprevdesktop") |
||||
xdotool key --clearmodifiers Alt+e |
||||
;; |
||||
"movenextdesktop") |
||||
xdotool key --clearmodifiers Alt+r |
||||
;; |
||||
"unmute") |
||||
sxmo_vol.sh unmute & |
||||
;; |
||||
"mute") |
||||
sxmo_vol.sh mute & |
||||
;; |
||||
"brightnessup") |
||||
sxmo_brightness.sh up & |
||||
;; |
||||
"brightnessdown") |
||||
sxmo_brightness.sh down & |
||||
;; |
||||
"volup") |
||||
sxmo_vol.sh up & |
||||
;; |
||||
"voldown") |
||||
sxmo_vol.sh down & |
||||
;; |
||||
"showkeyboard") |
||||
pidof "$KEYBOARD" || "$KEYBOARD" & |
||||
;; |
||||
"hidekeyboard") |
||||
pkill -9 "$KEYBOARD" |
||||
;; |
||||
"showmenu") |
||||
sxmo_appmenu.sh & |
||||
;; |
||||
"showsysmenu") |
||||
sxmo_appmenu.sh sys & |
||||
;; |
||||
"hidemenu") |
||||
pkill -9 dmenu |
||||
;; |
||||
"killwindow") |
||||
sxmo_killwindow.sh |
||||
;; |
||||
"scrollup_long") |
||||
xdotool key Prior |
||||
;; |
||||
"scrolldown_long") |
||||
xdotool key Next |
||||
;; |
||||
"scrollup_med") |
||||
xdotool key Up Up Up |
||||
;; |
||||
"scrolldown_med") |
||||
xdotool key Down Down Down |
||||
;; |
||||
"scrollup_short") |
||||
xdotool key Up |
||||
;; |
||||
"scrolldown_short") |
||||
xdotool key Down |
||||
;; |
||||
"scrollleft_short") |
||||
xdotool key Left |
||||
;; |
||||
"scrollright_short") |
||||
xdotool key Right |
||||
;; |
||||
"enter") |
||||
xdotool key Return |
||||
;; |
||||
"back") |
||||
xdotool key BackSpace |
||||
;; |
||||
*) |
||||
#fallback, just execute the command |
||||
"$@" |
||||
;; |
||||
esac |
||||
fi |
@ -0,0 +1,25 @@ |
||||
#!/usr/bin/env sh |
||||
if [ -z "$1" ]; then |
||||
exit 1 |
||||
else |
||||
CORNER="$1" |
||||
fi |
||||
|
||||
if [ -x "$XDG_CONFIG_HOME/sxmo/hooks/hotcorner_$CORNER" ]; then |
||||
"$XDG_CONFIG_HOME/sxmo/hooks/hotcorner_$CORNER" |
||||
exit $? |
||||
fi |
||||
|
||||
case "$CORNER" in |
||||
"topleft") |
||||
sxmo_appmenu.sh sys & |
||||
;; |
||||
"topright") |
||||
;; |
||||
"bottomleft") |
||||
sxmo_lock.sh & |
||||
;; |
||||
"bottomright") |
||||
sxmo_rotate.sh & |
||||
;; |
||||
esac |
@ -0,0 +1,2 @@ |
||||
#!/usr/bin/env sh |
||||
xdotool windowkill "$(xdotool getactivewindow)" |
@ -1,8 +0,0 @@ |
||||
#!/usr/bin/env sh |
||||
ACTIVEWIN="$(xdotool getactivewindow)" |
||||
WMCLASS="$(xprop -id "$ACTIVEWIN" | grep WM_CLASS | cut -d ' ' -f3-)" |
||||
|
||||
# E.g. just a check to ignore 1-finger gestures in foxtrotgps |
||||
if echo "$WMCLASS" | grep -vi foxtrot; then |
||||
"$@" |
||||
fi |
@ -1,15 +1,42 @@ |
||||
#!/usr/bin/env sh |
||||
pkill -9 lisgd |
||||
|
||||
lisgd "$@" \ |
||||
-g '1,LR,sxmo_lisgdonefingercheck.sh xdotool key --clearmodifiers Alt+Shift+e' \ |
||||
-g '1,RL,sxmo_lisgdonefingercheck.sh xdotool key --clearmodifiers Alt+Shift+r' \ |
||||
-g '1,DLUR,sxmo_lisgdonefingercheck.sh sxmo_vol.sh up' \ |
||||
-g '1,URDL,sxmo_lisgdonefingercheck.sh sxmo_vol.sh down' \ |
||||
-g '1,DRUL,sxmo_lisgdonefingercheck.sh sxmo_brightness.sh up' \ |
||||
-g '1,ULDR,sxmo_lisgdonefingercheck.sh sxmo_brightness.sh down' \ |
||||
-g '2,LR,xdotool key --clearmodifiers Alt+e' \ |
||||
-g '2,RL,xdotool key --clearmodifiers Alt+r' \ |
||||
-g "2,DU,pidof $KEYBOARD || $KEYBOARD &" \ |
||||
-g "2,UD,pkill -9 $KEYBOARD" \ |
||||
& |
||||
if [ -x "$XDG_CONFIG_HOME"/sxmo/hooks/lisgdstart ]; then |
||||
"$XDG_CONFIG_HOME"/sxmo/hooks/lisgdstart & |
||||
else |
||||
#-g format: |
||||
# fingers,swipe,edge,distance,command |
||||
#order matters, only the first match gets executed |
||||
lisgd "$@" -t 200 \ |
||||
-g '1,DRUL,BR,*,sxmo_hotcorner.sh bottomright' \ |
||||
-g '1,DLUR,BL,*,sxmo_hotcorner.sh bottomleft' \ |
||||
-g '1,ULDR,TL,*,sxmo_hotcorner.sh topleft' \ |
||||
-g '1,DRUL,TR,*,sxmo_hotcorner.sh topright' \ |
||||
-g '1,LR,B,L,sxmo_gesturehandler.sh enter' \ |
||||
-g '1,RL,B,L,sxmo_gesturehandler.sh back' \ |
||||
-g '1,LR,L,*,sxmo_gesturehandler.sh prevdesktop' \ |
||||
-g '1,RL,R,*,sxmo_gesturehandler.sh nextdesktop' \ |
||||
-g '1,DU,L,L,sxmo_gesturehandler.sh unmute' \ |
||||
-g '1,UD,L,L,sxmo_gesturehandler.sh mute' \ |
||||
-g '1,DU,L,*,sxmo_gesturehandler.sh volup' \ |
||||
-g '1,UD,L,*,sxmo_gesturehandler.sh voldown' \ |
||||
-g '1,LR,T,*,sxmo_gesturehandler.sh brightnessup' \ |
||||
-g '1,RL,T,*,sxmo_gesturehandler.sh brightnessdown' \ |
||||
-g "1,DU,B,*,sxmo_gesturehandler.sh showkeyboard" \ |
||||
-g "1,UD,B,*,sxmo_gesturehandler.sh hidekeyboard" \ |
||||
-g "1,UD,T,*,sxmo_gesturehandler.sh showmenu" \ |
||||
-g "1,DU,T,*,sxmo_gesturehandler.sh hidemenu" \ |
||||
-g "2,UD,T,*,sxmo_gesturehandler.sh showsysmenu" \ |
||||
-g "2,UD,B,*,sxmo_gesturehandler.sh killwindow" \ |
||||
-g '2,LR,*,*,sxmo_gesturehandler.sh moveprevdesktop' \ |
||||
-g '2,RL,*,*,sxmo_gesturehandler.sh movenextdesktop' \ |
||||
-g '1,DU,R,L,sxmo_gesturehandler.sh scrollup_long' \ |
||||
-g '1,UD,R,L,sxmo_gesturehandler.sh scrolldown_long' \ |
||||
-g '1,DU,R,M,sxmo_gesturehandler.sh scrollup_med' \ |
||||
-g '1,UD,R,M,sxmo_gesturehandler.sh scrolldown_med' \ |
||||
-g '1,DU,R,S,sxmo_gesturehandler.sh scrollup_short' \ |
||||
-g '1,UD,R,S,sxmo_gesturehandler.sh scrolldown_short' \ |
||||
-g '1,LR,R,S,sxmo_gesturehandler.sh scrollright_short' \ |
||||
-g '1,RL,L,S,sxmo_gesturehandler.sh scrollleft_short' \ |
||||
& |
||||
fi |
||||
|
Loading…
Reference in new issue