Created
October 22, 2013 12:46
-
-
Save jalvarezsamayoa/7100071 to your computer and use it in GitHub Desktop.
Tomorrow color scheme for gnome terminal
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
[[ -z "$PROFILE_NAME" ]] && PROFILE_NAME=Tomorrow | |
[[ -z "$PROFILE_SLUG" ]] && PROFILE_SLUG=Tomorrow | |
[[ -z "$DCONF" ]] && DCONF=dconf | |
[[ -z "$UUIDGEN" ]] && UUIDGEN=uuidgen | |
dset() { | |
local key="$1"; shift | |
local val="$1"; shift | |
if [[ "$type" == "string" ]]; then | |
val="'$val'" | |
fi | |
"$DCONF" write "$PROFILE_KEY/$key" "$val" | |
} | |
# because dconf still doesn't have "append" | |
dlist_append() { | |
local key="$1"; shift | |
local val="$1"; shift | |
local entries="$( | |
{ | |
"$DCONF" read "$key" | tr -d '[]' | tr , "\n" | fgrep -v "$val" | |
echo "'$val'" | |
} | head -c-1 | tr "\n" , | |
)" | |
"$DCONF" write "$key" "[$entries]" | |
} | |
# Newest versions of gnome-terminal use dconf | |
if which "$DCONF" > /dev/null 2>&1; then | |
[[ -z "$BASE_KEY" ]] && BASE_KEY=/org/gnome/terminal/legacy/profiles: | |
if [[ -n "`$DCONF list $BASE_KEY/`" ]]; then | |
if which "$UUIDGEN" > /dev/null 2>&1; then | |
PROFILE_SLUG=`uuidgen` | |
fi | |
if [[ -n "`$DCONF read $BASE_KEY/default`" ]]; then | |
DEFAULT_SLUG=`$DCONF read $BASE_KEY/default | tr -d \'` | |
else | |
DEFAULT_SLUG=`$DCONF list $BASE_KEY/ | grep '^:' | head -n1 | tr -d :/` | |
fi | |
DEFAULT_KEY="$BASE_KEY/:$DEFAULT_SLUG" | |
PROFILE_KEY="$BASE_KEY/:$PROFILE_SLUG" | |
# copy existing settings from default profile | |
$DCONF dump "$DEFAULT_KEY/" | $DCONF load "$PROFILE_KEY/" | |
# add new copy to list of profiles | |
dlist_append $BASE_KEY/list "$PROFILE_SLUG" | |
# update profile values with theme options | |
dset visible-name "'$PROFILE_NAME'" | |
dset palette "['rgb(0,0,0)','rgb(145,34,38)','rgb(119,137,0)','rgb(174,123,0)','rgb(29,37,148)','rgb(104,42,155)','rgb(43,102,81)','rgb(146,149,147)','rgb(102,102,102)','rgb(204,102,102)','rgb(181,189,104)','rgb(240,198,116)','rgb(129,182,190)','rgb(178,148,187)','rgb(138,190,183)','rgb(236,235,236)']" | |
dset background-color "'rgb(29,31,33)'" | |
dset foreground-color "'rgb(197,200,198)'" | |
dset bold-color "'rgb(138,186,183)'" | |
dset bold-color-same-as-fg "false" | |
dset use-theme-colors "false" | |
exit 0 | |
fi | |
fi | |
# Fallback for Gnome 2 and early Gnome 3 | |
[[ -z "$GCONFTOOL" ]] && GCONFTOOL=gconftool | |
[[ -z "$BASE_KEY" ]] && BASE_KEY=/apps/gnome-terminal/profiles | |
PROFILE_KEY="$BASE_KEY/$PROFILE_SLUG" | |
gset() { | |
local type="$1"; shift | |
local key="$1"; shift | |
local val="$1"; shift | |
"$GCONFTOOL" --set --type "$type" "$PROFILE_KEY/$key" -- "$val" | |
} | |
# because gconftool doesn't have "append" | |
glist_append() { | |
local type="$1"; shift | |
local key="$1"; shift | |
local val="$1"; shift | |
local entries="$( | |
{ | |
"$GCONFTOOL" --get "$key" | tr -d '[]' | tr , "\n" | fgrep -v "$val" | |
echo "$val" | |
} | head -c-1 | tr "\n" , | |
)" | |
"$GCONFTOOL" --set --type list --list-type $type "$key" "[$entries]" | |
} | |
# append the Tomorrow profile to the profile list | |
glist_append string /apps/gnome-terminal/global/profile_list "$PROFILE_SLUG" | |
gset string visible_name "$PROFILE_NAME" | |
gset string palette "#000000000000:#919122222626:#777789890000:#AEAE7B7B0000:#1D1D25259494:#68682a2a9b9b:#2B2B66665151:#929295959393:#666666666666:#CCCC66666666:#B5B5BDBD6868:#F0F0C6C67474:#8181A2A2BEBE:#B2B29494BBBB:#8A8ABEBEB7B7:#ECECEBEBECEC" | |
gset string background_color "#1d1d1f1f2121" | |
gset string foreground_color "#c5c5c8c8c6c6" | |
gset string bold_color "#8A8ABEBEB7B7" | |
gset bool bold_color_same_as_fg "false" | |
gset bool use_theme_colors "false" | |
gset bool use_theme_background "false" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment