diff --git a/apply-colors.sh b/apply-colors.sh index 1dfc0e0..98d1db2 100644 --- a/apply-colors.sh +++ b/apply-colors.sh @@ -33,6 +33,9 @@ GLOBAL_VAR_CLEANUP() { unset BACKGROUND_COLOR unset FOREGROUND_COLOR unset CURSOR_COLOR + unset HIGHLIGHT_FG_COLOR + unset HIGHLIGHT_BG_COLOR + unset USE_SYS_TRANSPARENCY unset PROFILE_NAME } @@ -235,6 +238,14 @@ set_theme() { dset background-color "'${BACKGROUND_COLOR}'" dset foreground-color "'${FOREGROUND_COLOR}'" + if [[ -n "${HIGHLIGHT_BG_COLOR:-}" ]]; then + dset highlight-colors-set "true" + dset highlight-background-color "'${HIGHLIGHT_BG_COLOR}'" + if [[ -n "${HIGHLIGHT_FG_COLOR:-}" ]]; then + dset highlight-foreground-color "'${HIGHLIGHT_FG_COLOR}'" + fi + fi + if [[ -n "${BOLD_COLOR:-}" ]]; then dset bold-color "'${BOLD_COLOR}'" dset bold-color-same-as-fg "false" @@ -244,6 +255,7 @@ set_theme() { fi dset use-theme-colors "false" dset use-theme-background "false" + dset use-theme-transparency "${USE_SYS_TRANSPARENCY:-false}" } legacy_set_theme() { @@ -431,6 +443,8 @@ apply_gtk() { BACKGROUND_COLOR=$(gnome_color "$BACKGROUND_COLOR") FOREGROUND_COLOR=$(gnome_color "$FOREGROUND_COLOR") + HIGHLIGHT_BG_COLOR=$(gnome_color "$HIGHLIGHT_BG_COLOR") + HIGHLIGHT_FG_COLOR=$(gnome_color "$HIGHLIGHT_FG_COLOR") COLOR_01=$(gnome_color "$COLOR_01") COLOR_02=$(gnome_color "$COLOR_02") COLOR_03=$(gnome_color "$COLOR_03") diff --git a/gogh.sh b/gogh.sh index e22996e..b0b7071 100755 --- a/gogh.sh +++ b/gogh.sh @@ -11,6 +11,8 @@ GLOBAL_VAR_CLEANUP(){ trap 'GLOBAL_VAR_CLEANUP; trap - EXIT' EXIT HUP INT QUIT PIPE TERM +# TO-DO: Investigate dynamically building this array e.g. +# curl -s https://github.com/Mayccoll/Gogh/tree/master/themes | grep -o "title=.*\.sh\" " | awk -F '=' '{print $2}' declare -a THEMES=( '3024-day.sh' '3024-night.sh' @@ -40,6 +42,7 @@ declare -a THEMES=( 'clrs.sh' 'cobalt2.sh' 'cobalt-neon.sh' + 'colorcli.sh' 'crayon-pony-fish.sh' 'dark-pastel.sh' 'darkside.sh' @@ -141,6 +144,7 @@ declare -a THEMES=( 'pro.sh' 'red-alert.sh' 'red-sands.sh' + 'relaxed.sh' 'rippedcasts.sh' 'royal.sh' 'sat.sh' diff --git a/themes/colorcli.sh b/themes/colorcli.sh new file mode 100755 index 0000000..b867f1f --- /dev/null +++ b/themes/colorcli.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash +# colorcli theme from https://github.com/jonasjacek/colorcli + +# ====================CONFIG THIS =============================== # +export COLOR_01="#000000" # HOST (black - system) +export COLOR_02="#D70000" # SYNTAX_STRING (red3) +export COLOR_03="#5FAF00" # COMMAND (Chartreuse3) +export COLOR_04="#5FAF00" # COMMAND_COLOR2 (Chartreuse3) +export COLOR_05="#005F87" # PATH (deepskyblue4) +export COLOR_06="#D70000" # SYNTAX_VAR (red3) +export COLOR_07="#5F5F5F" # PROMPT (gray37) +export COLOR_08="#E4E4E4" # (gray89) + +export COLOR_09="#5F5F5F" # Dark gray (gray37) +export COLOR_10="#D70000" # COMMAND_ERROR (red3) +export COLOR_11="#5F5F5F" # EXEC (gray37) +export COLOR_12="#FFFF00" # Light Yellow (yellow1) +export COLOR_13="#0087AF" # Light Blue (deepskyblue3) +export COLOR_14="#0087AF" # Light Magenta (deepskyblue3) +export COLOR_15="#0087AF" # Light Cyan (deepskyblue3) +export COLOR_16="#FFFFFF" # White (white - system) + +export BACKGROUND_COLOR="#FFFFFF" # Background Color +export FOREGROUND_COLOR="#005F87" # Foreground Color (text - deepskyblue4) +export CURSOR_COLOR="$FOREGROUND_COLOR" # Cursor color +export HIGHLIGHT_FG_COLOR="#0087AF" # Text color within highlight (deepskyblue3) +export HIGHLIGHT_BG_COLOR="#BCBCBC" # Highlight color (gray74) +export USE_SYS_TRANSPARENCY="false" +export PROFILE_NAME="Colorcli" +# =============================================================== # + + +# =============================================================== # +# | Apply Colors +# ===============================================================|# +SCRIPT_PATH="${SCRIPT_PATH:-$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)}" +PARENT_PATH="$(dirname "${SCRIPT_PATH}")" + +# Allow developer to change url to forked url for easier testing +# IMPORTANT: Make sure you export this variable if your main shell is not bash +BASE_URL=${BASE_URL:-"https://raw.githubusercontent.com/Mayccoll/Gogh/master"} + + +if [[ -e "${PARENT_PATH}/apply-colors.sh" ]]; then + bash "${PARENT_PATH}/apply-colors.sh" +else + if command -v curl >/dev/null 2>&1; then + bash -c "$(curl -so- "${BASE_URL}/apply-colors.sh")" + elif command -v wget >/dev/null 2>&1; then + bash -c "$(wget -qO- "${BASE_URL}/apply-colors.sh")" + fi +fi + diff --git a/themes/relaxed.sh b/themes/relaxed.sh new file mode 100755 index 0000000..c23c31c --- /dev/null +++ b/themes/relaxed.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +# Relaxed theme from https://github.com/Relaxed-Theme + +# ====================CONFIG THIS =============================== # +export COLOR_01="#151515" # HOST +export COLOR_02="#BC5653" # SYNTAX_STRING +export COLOR_03="#909D63" # COMMAND +export COLOR_04="#EBC17A" # COMMAND_COLOR2 +export COLOR_05="#6A8799" # PATH +export COLOR_06="#B06698" # SYNTAX_VAR +export COLOR_07="#C9DFFF" # PROMPT +export COLOR_08="#D9D9D9" # + +export COLOR_09="#636363" # Dark gray +export COLOR_10="#BC5653" # COMMAND_ERROR +export COLOR_11="#A0AC77" # EXEC +export COLOR_12="#EBC17A" # Light Yellow +export COLOR_13="#7EAAC7" # Light Blue +export COLOR_14="#B06698" # Light Magenta +export COLOR_15="#ACBBD0" # Light Cyan +export COLOR_16="#F7F7F7" # White + +export BACKGROUND_COLOR="#353A44" # Background Color +export FOREGROUND_COLOR="#D9D9D9" # Foreground Color +export CURSOR_COLOR="$FOREGROUND_COLOR" # Cursor color +export HIGHLIGHT_FG_COLOR="$FOREGROUND_COLOR" # Text color within highlight +export HIGHLIGHT_BG_COLOR="#6A8799" # Highlight color +export PROFILE_NAME="Relaxed" +# =============================================================== # + + +# =============================================================== # +# | Apply Colors +# ===============================================================|# +SCRIPT_PATH="${SCRIPT_PATH:-$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)}" +PARENT_PATH="$(dirname "${SCRIPT_PATH}")" + +# Allow developer to change url to forked url for easier testing +# IMPORTANT: Make sure you export this variable if your main shell is not bash +BASE_URL=${BASE_URL:-"https://raw.githubusercontent.com/Mayccoll/Gogh/master"} + + +if [[ -e "${PARENT_PATH}/apply-colors.sh" ]]; then + bash "${PARENT_PATH}/apply-colors.sh" +else + if command -v curl >/dev/null 2>&1; then + bash -c "$(curl -so- "${BASE_URL}/apply-colors.sh")" + elif command -v wget >/dev/null 2>&1; then + bash -c "$(wget -qO- "${BASE_URL}/apply-colors.sh")" + fi +fi