2022-08-22 21:27:20 -06:00
|
|
|
#!/bin/zsh
|
2024-05-08 23:33:06 -06:00
|
|
|
|
2025-02-19 21:56:37 -07:00
|
|
|
[ "${DOTWRYN}" ] || {
|
|
|
|
|
notify-send 'I3 UTILS' 'cannot determine $DOTWRYN for utility execution'
|
|
|
|
|
return 1
|
|
|
|
|
}
|
|
|
|
|
|
2024-05-08 23:33:06 -06:00
|
|
|
command -v scwrypts &>/dev/null || {
|
2025-02-19 21:56:37 -07:00
|
|
|
scwrypts() { "${DOTWRYN}/zsh/plugins/scwrypts/scwrypts" $@; }
|
2024-05-08 23:33:06 -06:00
|
|
|
}
|
|
|
|
|
|
2025-02-19 21:56:37 -07:00
|
|
|
export CI=true
|
|
|
|
|
export DESKTOP__SFX_PATH="${HOME}/Media/sfx"
|
|
|
|
|
export SCWRYPTS_LOG_LEVEL=0
|
2025-11-12 13:22:40 -07:00
|
|
|
case $(hostnamectl --static) in
|
|
|
|
|
( pikachu )
|
2026-05-05 14:17:43 -06:00
|
|
|
export DESKTOP__BACKLIGHT_DEVICE=xrandr-fake-brightness
|
|
|
|
|
export XRANDR_TARGET=DP-2
|
2025-11-12 13:22:40 -07:00
|
|
|
;;
|
|
|
|
|
esac
|
2025-02-19 21:56:37 -07:00
|
|
|
|
|
|
|
|
#####################################################################
|
|
|
|
|
|
2022-08-22 21:27:20 -06:00
|
|
|
case $1 in
|
2024-05-07 16:38:40 -06:00
|
|
|
( next | previous | play-pause ) playerctl $1 ;;
|
|
|
|
|
( fastforward ) playerctl position 5+ ;;
|
|
|
|
|
( rewind ) playerctl position 5- ;;
|
2022-08-22 21:27:20 -06:00
|
|
|
|
2025-02-19 21:56:37 -07:00
|
|
|
( 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 ;;
|
2022-08-22 21:27:20 -06:00
|
|
|
|
2025-02-19 21:56:37 -07:00
|
|
|
( backlightup ) scwrypts desktop backlight -- up ;;
|
|
|
|
|
( backlightdown ) scwrypts desktop backlight -- down ;;
|
2022-08-22 21:27:20 -06:00
|
|
|
|
2025-02-19 21:56:37 -07:00
|
|
|
( lock ) scwrypts desktop lock i3 -- ;;
|
2022-08-22 21:27:20 -06:00
|
|
|
|
2024-05-07 16:38:40 -06:00
|
|
|
( bgrandomize ) scwrypts desktop set i3 background -- random ;;
|
2022-08-22 21:27:20 -06:00
|
|
|
|
2024-05-07 16:38:40 -06:00
|
|
|
( logout ) scwrypts desktop i3 logout -- ;;
|
2022-08-22 21:27:20 -06:00
|
|
|
|
2024-05-07 16:38:40 -06:00
|
|
|
( launch )
|
2022-08-22 21:27:20 -06:00
|
|
|
local PROGRAM
|
|
|
|
|
local ARGS=()
|
|
|
|
|
case $2 in
|
2026-09-03 21:03:02 -06:00
|
|
|
( 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 ;;
|
2022-08-22 21:27:20 -06:00
|
|
|
esac
|
2024-04-08 19:11:39 -06:00
|
|
|
scwrypts i3 launch or show -- $PROGRAM ${ARGS[@]}
|
2022-08-22 21:27:20 -06:00
|
|
|
;;
|
2023-11-11 07:27:41 -07:00
|
|
|
|
2024-05-07 16:38:40 -06:00
|
|
|
( screenshot )
|
2024-08-10 08:46:22 -06:00
|
|
|
command -v flameshot || notify-send "I3 UTILS" "screenshot application 'flameshot' not available"
|
2026-09-03 21:03:02 -06:00
|
|
|
|
|
|
|
|
# v13 and below
|
|
|
|
|
#flameshot gui
|
|
|
|
|
|
|
|
|
|
# v14 complicated af
|
|
|
|
|
flameshot screen --edit --number "$(xdotool getmouselocation | sed 's/^.*screen:\([0-9]\+\) .*$/\1/')"
|
2023-11-11 07:27:41 -07:00
|
|
|
;;
|
2022-08-22 21:27:20 -06:00
|
|
|
esac
|