#!/bin/bash # prtctl - pyradio theme helper # TODO start pyradio if not running THEMERC=~/.config/pyradio/themes/mbcolors.pyradio-theme CONF_DIR="$HOME/.config/pyradio/" CONF_FILE="$CONF_DIR/config" stations() { sd "^Stations .*$" "Stations $1 $2" ${THEMERC} } stations_txt() { read S SFG SBG<<< "$(grep '^Stations ' ${THEMERC})" sd "^Stations .*$" "Stations $1 $SBG" ${THEMERC} } stations_bg() { read S SFG SBG<<< "$(grep '^Stations ' ${THEMERC})" sd "^Stations .*$" "Stations $SFG $1" ${THEMERC} } active_station(){ read AS1 AS2 ASFG<<< "$(grep '^Active Station ' ${THEMERC})" sd "^Active Station .*$" "Active Station $1" ${THEMERC} } status_bar() { read SB1 SB2 SBFG SBBG<<< "$(grep '^Status Bar ' ${THEMERC})" sd "^Status Bar .*$" "Status Bar $1 $2" ${THEMERC} } status_bar_txt() { read SB1 SB2 SBFG SBBG<<< "$(grep '^Status Bar ' ${THEMERC})" sd "^Status Bar .*$" "Status Bar $1 $SBBG" ${THEMERC} } status_bar_bg() { read SB1 SB2 SBFG SBBG<<< "$(grep '^Status Bar ' ${THEMERC})" sd "^Status Bar .*$" "Status Bar $SBFG $1" ${THEMERC} } normal_cursor() { sd "^Normal Cursor .*$" "Normal Cursor $1 $2" ${THEMERC} } normal_cursor_txt() { read NC1 NC2 NCFG NCBG<<< "$(grep '^Normal Cursor ' ${THEMERC})" sd "^Normal Cursor .*$" "Normal Cursor $1 $NCBG" ${THEMERC} } normal_cursor_bg() { read NC1 NC2 NCFG NCBG<<< "$(grep '^Normal Cursor ' ${THEMERC})" sd "^Normal Cursor .*$" "Normal Cursor $NCFG $1" ${THEMERC} } active_cursor() { sd "^Active Cursor .*$" "Active Cursor $1 $2" ${THEMERC} } active_cursor_txt() { read AC1 AC2 ACFG ACBG<<< "$(grep '^Active Cursor ' ${THEMERC})" sd "^Active Cursor .*$" "Active Cursor $1 $ACBG" ${THEMERC} } active_cursor_bg() { read AC1 AC2 ACFG ACBG<<< "$(grep '^Active Cursor ' ${THEMERC})" sd "^Active Cursor .*$" "Active Cursor $ACFG $1" ${THEMERC} } edit_cursor() { read EC1 EC2 ECFG ECBG<<< "$(grep '^Edit Cursor ' ${THEMERC})" sd "^Edit Cursor .*$" "Edit Cursor $1 $2" ${THEMERC} } edit_cursor_txt() { read EC1 EC2 ECFG ECBG<<< "$(grep '^Edit Cursor ' ${THEMERC})" sd "^Edit Cursor .*$" "Edit Cursor $1 $ECBG" ${THEMERC} } edit_cursor() { read EC1 EC2 ECFG ECBG<<< "$(grep '^Edit Cursor ' ${THEMERC})" sd "^Edit Cursor .*$" "Edit Cursor $ECFG $1" ${THEMERC} } extra_func() { sd "^Extra Func .*$" "Extra Func $1" ${THEMERC} } pyradio_url() { sd "^PyRadio URL .*$" "PyRadio URL $1" ${THEMERC} } messages_border() { sd "^Messages Border .*$" "Messages Border $1" ${THEMERC} } resettheme () { mkdir -p ~/.config/pyradio/themes cat < ${THEMERC} # Main foreground and background Stations #309552 #142C2C # Playing station text color # (background color will come from Stations) Active Station #cdc76d # Status bar foreground and background Status Bar #cdc76d #22564b # Normal cursor foreground and background Normal Cursor #0c1d23 #74885a # Cursor foreground and background # when cursor on playing station Active Cursor #1a231a #cdc76d # Cursor foreground and background # This is the Line Editor cursor Edit Cursor #eed6aa #1a231a # Text color for extra function indication # and jump numbers within the status bar # (background color will come from Stations) Extra Func #22564b # Text color for URL # (background color will come from Stations) PyRadio URL #d2cda1 # Message window border foreground # (background color will come from Stations) Messages Border #d3d4bf # Theme Transparency # Values are: # 0: No transparency (default) # 1: Theme is transparent # 2: Obey config setting transparency 0 EOF } export_theme () { DATE=$(date +'%Y%m%d-%H-%M-%S') cp ${THEMERC} "$HOME/.config/pyradio/themes/exported_${DATE}.pyradio-theme" notify-send.sh -i radio "PyRadio theme exported!" "\nNew PyRadio theme created as:\nexported_${DATE}.pyradio-theme\n" -o " Open in editor:xdg-open ${CONF_DIR}/themes/exported_${DATE}.pyradio-theme" -o " Open Themes dir:xdg-open ${CONF_DIR}/themes" } #run if [ ! -f $THEMERC ]; then resettheme fi case "$1" in stations) stations "$2" "$3";; stations_txt) stations_txt "$2";; stations_bg) stations_bg "$2";; active_station) active_station "$2";; status_bar) status_bar "$2" "$3";; status_bar_txt) status_bar_txt "$2";; status_bar_bg) status_bar_bg "$2";; normal_cursor) normal_cursor "$2" "$3";; normal_cursor_txt) normal_cursor_txt "$2";; normal_cursor_bg) normal_cursor_bg "$2";; active_cursor) active_cursor "$2" "$3";; active_cursor_txt) active_cursor_txt "$2";; active_cursor_bg) active_cursor_bg "$2";; edit_cursor) edit_cursor "$2" "$3";; edit_cursor_txt) edit_cursor_txt "$2";; edit_cursor_bg) edit_cursor_bg "$2";; extra_func) extra_func "$2";; pyradio_url) pyradio_url "$2";; messages_border) messages_border "$2";; resettheme) resettheme;; exp) export_theme;; *);; esac