You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
3.9 KiB
139 lines
3.9 KiB
5 years ago
|
#!/usr/bin/env sh
|
||
|
WIN=$(xdotool getwindowfocus)
|
||
|
|
||
|
programchoicesinit() {
|
||
|
WMCLASS="${1:-$(xprop -id $(xdotool getactivewindow) | grep WM_CLASS | cut -d ' ' -f3-)}"
|
||
|
|
||
|
# Default
|
||
|
CHOICES="$(echo "
|
||
|
Push window tag → ^ 0 ^ sxmo_lowpowermode.sh
|
||
|
Tag focus → ^ 0 ^ sxmo_lowpowermode.sh
|
||
|
Applications ^ 0 ^ sxmo_appmenu.sh applications
|
||
|
Volume ↑ ^ 1 ^ sxmo_vol.sh up
|
||
|
Volume ↓ ^ 1 ^ sxmo_vol.sh down
|
||
|
Brightesss ↑ ^ 1 ^ sxmo_brightness.sh up
|
||
|
Brightness ↓ ^ 1 ^ sxmo_brightness.sh down
|
||
|
Wifi ^ 0 ^ st -e "nmtui"
|
||
|
Rotate ^ 1 ^ rotate
|
||
|
Logout ^ 0 ^ pkill -9 dwm
|
||
|
Close Menu ^ 0 ^ quit
|
||
|
")" && WINNAME=sys
|
||
|
|
||
|
echo $WMCLASS | grep -i "applications" && CHOICES="$(echo "
|
||
|
Surf ^ 0 ^ surf
|
||
|
NetSurf ^ 0 ^ netsurf
|
||
|
St ^ 0 ^ st
|
||
|
Firefox ^ 0 ^ firefox
|
||
|
Foxtrotgps ^ 0 ^ foxtrotgps
|
||
|
Close Menu ^ 0 ^ quit
|
||
|
")" && WINNAME=Apps
|
||
|
|
||
|
|
||
|
echo $WMCLASS | grep -i "mpv" && CHOICES="$(echo "
|
||
|
Pause ^ 0 ^ key space
|
||
|
")" && WINNAME=Mpv
|
||
|
|
||
|
# St
|
||
|
echo $WMCLASS | grep -i "st-256color" && CHOICES="$(echo "
|
||
|
Pastecomplete ^ 0 ^ key Ctrl+Shift+u
|
||
|
Paste ^ 0 ^ key Ctrl+Shift+v
|
||
|
Pipe Data ^ 0 ^
|
||
|
Zoom + ^ 1 ^ key Ctrl+Shift+Prior
|
||
|
Zoom - ^ 1 ^ key Ctrl+Shift+Next
|
||
|
Scroll ↑ ^ 1 ^ key Shift+Prior
|
||
|
Scroll ↓ ^ 1 ^ key Shift+Next
|
||
|
Hotkeys ^ 0 ^ sxmo_appmenu.sh sthotkeys
|
||
|
Close Menu ^ 0 ^ quit
|
||
|
")" && WINNAME=st
|
||
|
|
||
|
# St hotkeys
|
||
|
echo $WMCLASS | grep -i "sthotkeys" && CHOICES="$(echo "
|
||
|
Send Ctrl-C ^ 0 ^ key Ctrl+C
|
||
|
Send Ctrl-L ^ 0 ^ key Ctrl+L
|
||
|
Send Ctrl- ^ 0 ^ key Ctrl+L
|
||
|
Close Menu ^ 0 ^ quit
|
||
|
")" && WINNAME=st
|
||
|
|
||
|
# Surf
|
||
|
echo $WMCLASS | grep surf && CHOICES="$(echo "
|
||
|
Navigate ^ 0 ^ key Ctrl+g
|
||
|
Link Menu ^ 0 ^ key Ctrl+d
|
||
|
Pipe URL ^ 0 ^ sxmo_urlhandler.sh
|
||
|
Zoom + ^ 1 ^ key Ctrl+Shift+k
|
||
|
Zoom - ^ 1 ^ key Ctrl+Shift+j
|
||
|
Scroll ↑ ^ 1 ^ key Ctrl+space
|
||
|
Scroll ↓ ^ 1 ^ key Ctrl+b
|
||
|
JS Toggle ^ 1 ^ key Ctrl+Shift+s
|
||
|
Search ^ 1 ^ key Ctrl+f
|
||
|
History ← ^ 1 ^ key Ctrl+h
|
||
|
History → ^ 1 ^ key Ctrl+l
|
||
|
Close Menu ^ 0 ^ quit
|
||
|
")" && WINNAME=surf
|
||
|
|
||
|
echo $WMCLASS | grep -i netsurf && CHOICES="$(echo "
|
||
|
Pipe URL ^ 0 ^ sxmo_urlhandler.sh
|
||
|
Zoom + ^ 1 ^ key Ctrl+plus
|
||
|
Zoom - ^ 1 ^ key Ctrl+minus
|
||
|
History ← ^ 1 ^ key Alt+Left
|
||
|
History → ^ 1 ^ key Alt+Right
|
||
|
Close Menu ^ 0 ^ quit
|
||
|
")" && WINNAME=netsurf
|
||
|
|
||
|
echo $WMCLASS | grep -i foxtrot && CHOICES="$(echo "
|
||
|
Zoom + ^ 1 ^ key i
|
||
|
Zoom - ^ 1 ^ key o
|
||
|
Panel toggle ^ 1 ^ key m
|
||
|
Autocenter toggle ^ 0 ^ key a
|
||
|
Route ^ 0 ^ key r
|
||
|
Gmaps Transfer ^ 0 ^ key o
|
||
|
Copy Cords ^ 0 ^ key o
|
||
|
Close Menu ^ 0 ^ quit
|
||
|
")" && WINNAME=gps
|
||
|
}
|
||
|
|
||
|
rotate() {
|
||
|
xrandr | grep primary | cut -d' ' -f 5 | grep right && xrandr -o normal || xrandr -o right
|
||
|
}
|
||
|
|
||
|
key() {
|
||
|
xdotool windowactivate $WIN
|
||
|
xdotool key --clearmodifiers $1
|
||
|
#--window $WIN
|
||
|
}
|
||
|
|
||
|
quit() {
|
||
|
xset r off
|
||
|
exit 0
|
||
|
}
|
||
|
|
||
|
boot() {
|
||
|
DMENUIDX=0
|
||
|
PICKED=""
|
||
|
xset r on
|
||
|
pgrep -f sxmo_appmenu.sh | grep -Ev "^${$}$" | xargs kill -9
|
||
|
pkill -9 dmenu
|
||
|
}
|
||
|
|
||
|
mainloop() {
|
||
|
while :
|
||
|
do
|
||
|
PICKED=$(
|
||
|
echo "$CHOICES" |
|
||
|
xargs -0 echo |
|
||
|
cut -d'^' -f1 |
|
||
|
sed '/^[[:space:]]*$/d' |
|
||
|
awk '{$1=$1};1' |
|
||
|
dmenu -idx $DMENUIDX -l 10 -c -fn "Terminus-30" -p "$WINNAME"
|
||
|
)
|
||
|
LOOP=$(echo "$CHOICES" | grep "$PICKED" | cut -d '^' -f2)
|
||
|
CMD=$(echo "$CHOICES" | grep "$PICKED" | cut -d '^' -f3)
|
||
|
DMENUIDX=$(echo $(echo "$CHOICES" | grep -n "$PICKED" | cut -d ':' -f1) - 1 | bc)
|
||
|
eval $CMD
|
||
|
echo $LOOP | grep 1 || quit
|
||
|
done
|
||
|
}
|
||
|
|
||
|
boot
|
||
|
programchoicesinit $@
|
||
|
mainloop
|