#!/bin/zsh [ "${DOTWRYN}" ] || { notify-send 'I3 UTILS' 'cannot determine $DOTWRYN for utility execution' return 1 } command -v scwrypts &>/dev/null || { scwrypts() { "${DOTWRYN}/zsh/plugins/scwrypts/scwrypts" $@; } } export CI=true export DESKTOP__SFX_PATH="${HOME}/Media/sfx" export SCWRYPTS_LOG_LEVEL=0 case $(hostnamectl --static) in ( pikachu ) export DESKTOP__BACKLIGHT_DEVICE=xrandr-fake-brightness export XRANDR_TARGET=DP-2 ;; esac ##################################################################### case $1 in ( next | previous | play-pause ) playerctl $1 ;; ( fastforward ) playerctl position 5+ ;; ( rewind ) playerctl position 5- ;; ( volumedown ) scwrypts media pulseaudio volume -- sink down ;; ( volumeup ) scwrypts media pulseaudio volume -- sink up ;; ( volumemute ) scwrypts media pulseaudio volume -- sink mute ;; ( micmute ) scwrypts media pulseaudio volume -- source mute ;; ( backlightup ) scwrypts desktop backlight -- up ;; ( backlightdown ) scwrypts desktop backlight -- down ;; ( lock ) scwrypts desktop lock i3 -- ;; ( bgrandomize ) scwrypts desktop set i3 background -- random ;; ( logout ) scwrypts desktop i3 logout -- ;; ( launch ) local PROGRAM local ARGS=() case $2 in ( messages ) PROGRAM=slack ARGS+=(-c slack --has-statusbar-icon) ;; ( voice ) PROGRAM=google-voice-desktop ;; ( ytmusic ) PROGRAM=youtube-music-desktop-app ARGS+=(-c '"YouTube Music Desktop App"' --has-statusbar-icon) ;; ( signal ) PROGRAM=signal ;; ( 1pass ) PROGRAM=1password ARGS+=(-c 1Password) ;; ( discord ) PROGRAM=fluxer ARGS+=(-c Fluxer) ;; ( obs ) PROGRAM=obs ARGS+=(-c '^obs' -n -l --has-statusbar-icon) ;; ( pavuctrl ) PROGRAM=pavucontrol ARGS+=(-s 0.5 -c '^Pavucontrol') ;; ( scrcpy ) PROGRAM=scrcpy ARGS+=(-n -l) ;; ( spotify ) PROGRAM=youtube-music-desktop-app ARGS+=(-c '"YouTube Music Desktop App"' --has-statusbar-icon) ;; ( * ) PROGRAM=$2 ;; esac scwrypts i3 launch or show -- $PROGRAM ${ARGS[@]} ;; ( screenshot ) command -v flameshot || notify-send "I3 UTILS" "screenshot application 'flameshot' not available" # v13 and below #flameshot gui # v14 complicated af flameshot screen --edit --number "$(xdotool getmouselocation | sed 's/^.*screen:\([0-9]\+\) .*$/\1/')" ;; esac