opensteno_qmk/layouts/community/ergodox/algernon/tools/hid-commands
Gergely Nagy 1cd336dde4 ergodox: Update algernon's layout to v1.11
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>
2017-10-03 07:54:56 -10:00

113 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