scwrypts v3 refactor
This commit is contained in:
27
scwrypts/lib/desktop/colorscheme.module.zsh
Normal file
27
scwrypts/lib/desktop/colorscheme.module.zsh
Normal file
@@ -0,0 +1,27 @@
|
||||
#####################################################################
|
||||
|
||||
DEPENDENCIES+=(
|
||||
awk sed tr
|
||||
)
|
||||
REQUIRED_ENV+=()
|
||||
|
||||
#####################################################################
|
||||
|
||||
GET_COLORSCHEME_HEX() {
|
||||
[ $1 ] && [[ $1 -le 15 ]] && [[ $1 -ge 0 ]] \
|
||||
|| FAIL 1 'must provide ANSI color number 0-15'
|
||||
|
||||
grep "^color$1 " "$DOTWRYN/colorschemes/kitty.main" \
|
||||
| awk '{print $2}' \
|
||||
| sed 's/ //g; s/#//g' \
|
||||
| tr '[:lower:]' '[:upper:]' \
|
||||
;
|
||||
}
|
||||
|
||||
SET_THEME() {
|
||||
local THEME="$DOTWRYN/colorschemes/kitty.$1"
|
||||
[ ! -f "$THEME" ] && FAIL 1 "no such theme '$1'"
|
||||
local LOCAL_THEME="$HOME/.config/kitty/theme.conf"
|
||||
rm -- $LOCAL_THEME
|
||||
ln -s "$THEME" "$LOCAL_THEME"
|
||||
}
|
19
scwrypts/lib/desktop/notify.module.zsh
Normal file
19
scwrypts/lib/desktop/notify.module.zsh
Normal file
@@ -0,0 +1,19 @@
|
||||
#####################################################################
|
||||
|
||||
DEPENDENCIES+=(
|
||||
notify-send
|
||||
)
|
||||
REQUIRED_ENV+=()
|
||||
|
||||
#####################################################################
|
||||
|
||||
NOTIFY_SEND() { notify-send "$SCWRYPT_GROUP : $SCWRYPT_NAME" "$1"; }
|
||||
|
||||
_NOTIFY() {
|
||||
NOTIFY_SEND "$1 : ${*:2}"
|
||||
$1 ${@:2}
|
||||
}
|
||||
|
||||
NOTIFY_SUCCESS() { _NOTIFY SUCCESS $@; }
|
||||
NOTIFY_ERROR() { _NOTIFY ERROR $@; }
|
||||
NOTIFY_FAIL() { _NOTIFY FAIL $@; }
|
38
scwrypts/lib/media/audio.module.zsh
Normal file
38
scwrypts/lib/media/audio.module.zsh
Normal file
@@ -0,0 +1,38 @@
|
||||
#####################################################################
|
||||
|
||||
DEPENDENCIES+=(
|
||||
canberra-gtk-play
|
||||
)
|
||||
REQUIRED_ENV+=()
|
||||
|
||||
use desktop/notify --group dotwryn
|
||||
|
||||
#####################################################################
|
||||
|
||||
MEDIA__PLAY_SFX() {
|
||||
local SFX_FILE
|
||||
case $1 in
|
||||
volume ) SFX_FILE=$DESKTOP__SFX_PATH/yaru-message.oga ;;
|
||||
mute ) SFX_FILE=$DESKTOP__SFX_PATH/smooth-dialog-warning.oga ;;
|
||||
backlight ) SFX_FILE=$DESKTOP__SFX_PATH/yaru-audio-volume-change.oga ;;
|
||||
login ) SFX_FILE=$DESKTOP__SFX_PATH/yaru-desktop-login.oga ;;
|
||||
logout ) SFX_FILE=$DESKTOP__SFX_PATH/smooth-desktop-login.oga ;;
|
||||
notify ) SFX_FILE=$DESKTOP__SFX_PATH/yaru-complete.oga ;;
|
||||
undock ) SFX_FILE=$DESKTOP__SFX_PATH/yaru-desktop-login.oga ;;
|
||||
homedock ) SFX_FILE=$DESKTOP__SFX_PATH/homedock.oga ;;
|
||||
gamedock ) SFX_FILE=$DESKTOP__SFX_PATH/gamedock.oga ;;
|
||||
|
||||
* ) SFX_FILE="$1"
|
||||
;;
|
||||
esac
|
||||
|
||||
[ -f $SFX_FILE ] \
|
||||
&& STATUS "detected file '$SFX_FILE'" \
|
||||
|| NOTIFY_FAIL 1 "unable to locate sfx file '$1'" \
|
||||
;
|
||||
|
||||
STATUS 'starting playback'
|
||||
canberra-gtk-play -f "$SFX_FILE" \
|
||||
&& SUCCESS "finished output of '$SFX_FILE'" \
|
||||
|| NOTIFY_FAIL 1 "something went wrong playing file '$SFX_FILE'"
|
||||
}
|
Reference in New Issue
Block a user