summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Russell <robby@planetargon.com>2011-04-29 11:24:29 +0200
committerRobby Russell <robby@planetargon.com>2011-04-29 11:24:29 +0200
commit6f7d51c68d4de102f295d3b543ccb5c61dea2c3c (patch)
tree5c68ba7df2d1d572a3d18cc51d38d522de64c5fa
parent971b071dc67f423d8b2a6f476e1dd58819049f41 (diff)
downloadzsh-6f7d51c68d4de102f295d3b543ccb5c61dea2c3c.tar.gz
zsh-6f7d51c68d4de102f295d3b543ccb5c61dea2c3c.tar.bz2
zsh-6f7d51c68d4de102f295d3b543ccb5c61dea2c3c.zip
Feature: Random themes now supported. Just set your theme to 'random' and it'll load a different theme each time oh-my-zsh is started. Closes #309
-rw-r--r--oh-my-zsh.sh14
-rw-r--r--templates/zshrc.zsh-template4
2 files changed, 16 insertions, 2 deletions
diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
index 291772dfe..1e735b058 100644
--- a/oh-my-zsh.sh
+++ b/oh-my-zsh.sh
@@ -15,7 +15,19 @@ plugin=${plugin:=()}
for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh
# Load the theme
-source "$ZSH/themes/$ZSH_THEME.zsh-theme"
+# Check for updates on initial load...
+if [ "$ZSH_THEME" = "random" ]
+then
+ themes=($ZSH/themes/*zsh-theme)
+ N=${#themes[@]}
+ ((N=RANDOM%N))
+ RANDOM_THEME=${themes[$N]}
+ source "$RANDOM_THEME"
+ echo "[oh-my-zsh] Random theme '$RANDOM_THEME' loaded..."
+else
+ source "$ZSH/themes/$ZSH_THEME.zsh-theme"
+fi
+
# Check for updates on initial load...
if [ "$DISABLE_AUTO_UPDATE" = "true" ]
diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template
index 506daa9a2..576d45eaa 100644
--- a/templates/zshrc.zsh-template
+++ b/templates/zshrc.zsh-template
@@ -1,8 +1,10 @@
# Path to your oh-my-zsh configuration.
export ZSH=$HOME/.oh-my-zsh
-# Set to the name theme to load.
+# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
+# Optionally, if you set this to "random", it'll load a random theme each
+# time that oh-my-zsh is loaded.
export ZSH_THEME="robbyrussell"
# Set to this to use case-sensitive completion