#!/bin/zsh case $1 in ( next | previous | play-pause ) playerctl $1 ;; ( fastforward ) playerctl position 5+ ;; ( rewind ) playerctl position 5- ;; ( volumedown ) scwrypts -n desktop pulseaudio -- sink down ;; ( volumeup ) scwrypts -n desktop pulseaudio -- sink up ;; ( volumemute ) scwrypts -n desktop pulseaudio -- sink mute ;; ( micmute ) scwrypts -n desktop pulseaudio -- source mute ;; ( backlightup ) scwrypts -n desktop backlight -- up ;; ( backlightdown ) scwrypts -n desktop backlight -- down ;; ( lock ) scwrypts -n 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=youtubemusic-nativefier ;; 1pass ) PROGRAM=1password ARGS+=(-c 1Password) ;; discord ) PROGRAM=discord ARGS+=(--has-statusbar-icon) ;; 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=spotify ARGS+=(-c Spotify) ;; * ) PROGRAM=$2 ;; esac scwrypts i3 launch or show -- $PROGRAM ${ARGS[@]} ;; ( screenshot ) command -v deepin-screen-recorder || notify-send "I3 UTILS" "no screenshot application available" deepin-screen-recorder DEEPIN_CONFIG="$HOME/.config/deepin/deepin-screen-recorder/deepin-screen-recorder.conf" : \ && echo "fixing stupid settings" \ && mv $DEEPIN_CONFIG $DEEPIN_CONFIG.bak \ && sed '/specifiedSavepath=.*home.*Pictures/d' $DEEPIN_CONFIG.bak > $DEEPIN_CONFIG \ || mv $DEEPIN_CONFIG.bak $DEEPIN_CONFIG.conf \ ; ;; esac