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.
		
		
		
		
		
			
		
			
				
					
					
						
							114 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
	
	
							114 lines
						
					
					
						
							2.4 KiB
						
					
					
				#!/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
 |