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
 |