Permalink
Browse files

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
  • Loading branch information...
1 parent 971b071 commit 6f7d51c68d4de102f295d3b543ccb5c61dea2c3c @robbyrussell robbyrussell committed Apr 29, 2011
Showing with 16 additions and 2 deletions.
  1. +13 −1 oh-my-zsh.sh
  2. +3 −1 templates/zshrc.zsh-template
View
14 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" ]
View
4 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

0 comments on commit 6f7d51c

Please sign in to comment.