forked from forks/qmk_firmware
1cd336dde4
Overall changes =============== * Updated to work with QMK master. * The `$` and `^` symbols on the number row were swapped on both the base and the ADORE layers. * The bracket tap-dance keys can now be used to input Japanese brackets, `「` and `」` with a third tap. * The second column of the top row on the right side will act as a "Social" application selector on the `AppSel` layer. * The third key on the same column will select a password manager. * The `GUI` key will now launch `rofi` when triple-tapped. Miscellaneous ============= * The `👶` symbol can be entered with UCIS. * The `👪` symbol can be entered with UCIS. Tools ===== * `tools/hid-commands` can now find the `Mstdn`, not just `Slack`, as the "Slack"/chat app. * `tools/hid-commands` can now find the Plex web app as a music/media player. * `tools/hid-commands` now understands the "Social" application selector. It raises the `Mstdn` and `Tweetdeck` windows, but keeps focus on the previous window. * `tools/hid-commands` now understands the "Social2" application selector, which raises `Signal` and `Viber`, but keeps focus on the previous window. * `tools/hid-commands` is now able to select a password manager (KeePass*). * `tools/hid-commands` can now run `rofi` when receiving an `appsel_helper` command (triggered by a triple-tapped `GUI` key). Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
114 lines
2.4 KiB
Bash
Executable file
114 lines
2.4 KiB
Bash
Executable file
#!/bin/bash
|
|
set -e
|
|
|
|
LAST_APPSEL_START=0
|
|
|
|
cmd_wm () {
|
|
WIN="$(xdotool getactivewindow)"
|
|
wmctrl -i -r ${WIN} -b remove,maximized_vert,maximized_horz
|
|
xdotool windowsize ${WIN} 100% 100%
|
|
wmctrl -i -r ${WIN} -b add,maximized_vert,maximized_horz
|
|
}
|
|
|
|
cmd_appsel_helper () {
|
|
rofi -show window
|
|
}
|
|
|
|
_cmd_appsel () {
|
|
wmctrl -x -a $1 || true
|
|
xdotool key Escape
|
|
}
|
|
|
|
cmd_appsel_music () {
|
|
wmctrl -x -a rhythmbox || wmctrl -x -a spotify || \
|
|
wmctrl -x -a banshee || wmctrl -x -a kodi || \
|
|
wmctrl -x -a plex || true
|
|
xdotool key Escape
|
|
}
|
|
|
|
cmd_appsel_slack () {
|
|
wmctrl -x -a slack || wmctrl -x -a Mstdn || true
|
|
xdotool key Escape
|
|
}
|
|
|
|
cmd_appsel_emacs () {
|
|
_cmd_appsel emacs
|
|
}
|
|
|
|
cmd_appsel_term () {
|
|
_cmd_appsel gnome-terminal
|
|
}
|
|
|
|
cmd_appsel_chrome () {
|
|
wmctrl -x -a chrom || wmctrl -x -a Chrome || true
|
|
xdotool key Escape
|
|
}
|
|
|
|
cmd_appsel_start () {
|
|
if [ ! -z "${DISABLE_APPSEL_START}" ]; then
|
|
return
|
|
fi
|
|
|
|
APPSEL_START=$(date +%s)
|
|
if [ $APPSEL_START -lt $(expr $LAST_APPSEL_START + 10) ]; then
|
|
return
|
|
fi
|
|
LAST_APPSEL_START=$APPSEL_START
|
|
notify-send -t 1000 "Please select an application!" -c device -u low \
|
|
-i /usr/share/icons/Adwaita/24x24/devices/video-display.png
|
|
}
|
|
|
|
cmd_appsel_social () {
|
|
# Save the current window
|
|
a=$(xdotool getactivewindow)
|
|
# Raise & Focus Mstdn & Tweetdeck
|
|
wmctrl -x -a trunk.mad-scientist.club.Google-chrome || true; wmctrl -x -a tweetdeck || true
|
|
# Focus the previously active window
|
|
xdotool windowfocus $a || true; xdotool windowactivate $a || true
|
|
|
|
xdotool key Escape
|
|
}
|
|
|
|
cmd_appsel_social2 () {
|
|
# Save the current window
|
|
a=$(xdotool getactivewindow)
|
|
# Raise & Focus Viber & Signal
|
|
wmctrl -x -a Viber || true; wmctrl -a Signal || true
|
|
# Focus the previously active window
|
|
xdotool windowfocus $a || true; xdotool windowactivate $a || true
|
|
|
|
xdotool key Escape
|
|
}
|
|
|
|
cmd_appsel_pwmgr () {
|
|
_cmd_appsel keepass
|
|
}
|
|
|
|
cmd_reflash () {
|
|
teensy_loader_cli -v -w ~/src/ext/qmk_firmware/algernon.hex --mcu atmega32u4 || true
|
|
}
|
|
|
|
cmd_help () {
|
|
cat <<EOF
|
|
Use the source, Luke!
|
|
EOF
|
|
}
|
|
|
|
while read l; do
|
|
case "$l" in
|
|
"CMD:"*)
|
|
;;
|
|
*)
|
|
continue
|
|
;;
|
|
esac
|
|
|
|
cmd="$(echo $l | cut -d: -f2-)"
|
|
|
|
echo "Got command: ${cmd}"
|
|
|
|
if type cmd_${cmd} >/dev/null 2>&1; then
|
|
cmd_${cmd}
|
|
fi
|
|
done
|