Skip to content

Instantly share code, notes, and snippets.

@BretFisher
Last active September 22, 2023 11:33
Show Gist options
  • Star 40 You must be signed in to star a gist
  • Fork 9 You must be signed in to fork a gist
  • Save BretFisher/78a90d4e39e79d5f3c9769d4002f67a7 to your computer and use it in GitHub Desktop.
Save BretFisher/78a90d4e39e79d5f3c9769d4002f67a7 to your computer and use it in GitHub Desktop.
oh-my-zsh theme for presentations (hides prompt features based on path)
# problem: when presenting, I want to obscure
# my prompt to act like it's at root of file system
# and be very basic with no git info, etc.
# solution: this theme lets you set a ENV to the path
# of your presentation, which will help remove unneeded prompt
# features while in that path
# oh-my-zsh theme for presenting demos
# based off the default rubbyrussell theme
# save this in .oh-my-zsh/custom/themes/present.zsh-theme
# then make this your default theme in .zshrc and it will
# act normal until you set the ENV VAR 'PRESENT' to a full path
# to the folder you want to present from. This will then hide
# the current working dir name in your prompt while in that dir only
# and hide the git_prompt for it and all subdirs
# mine has a whale emote for all things docker
# simply unset the PRESENT to clear config
# example:
# cd path/to/my/code/repo/for/presentation
# export PRESENT=$(PWD)
# if PRESENT has been set, lets show whale
# if not, DAY DRINKING!
function whale_or_bourbon () {
if [[ -z $PRESENT ]]; then
# 256 color with ;1m for bold %{\e[38;5;45;1m%}
# https://wiki.archlinux.org/index.php/zsh#Colors
# http://jafrog.com/2013/11/23/colors-in-terminal.html
# https://misc.flogisoft.com/bash/tip_colors_and_formatting
# also note that any error code from last command will result in
# fire rather then bourbon
echo -n "%(?:🥃 :🔥 )"
echo -n "%{$fg_bold[blue]%}%c%{$reset_color%} $(git_prompt_info)"
else
# note that I've had feedback that people seeing fire
# while I'm in demo mode is off-putting so I've disabled it
# here by default, but swap out the next two lines to enable it
# echo -n "%(?:🐳 :🔥 )"
echo -n "🐳 "
# if we're in the root of presentation, hide the path
if [[ ! $PWD == $PRESENT ]]; then
echo -n "%{$fg_bold[blue]%}%c%{$reset_color%} "
fi
fi
}
PROMPT='$(whale_or_bourbon)'
#default
# PROMPT='${ret_status} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}💍"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"
# OPTIONAL BONUS: let this theme set this alias, then whenever you need to present,
# just cd to the path you're presenting from and type `present` 💥
#alias present='export PRESENT=$(pwd)'
@devTechi
Copy link

devTechi commented Jan 29, 2018

Thanks @BretFisher

I modified your theme a bit like follows. Please see: https://gist.github.com/devTechi/5caba4003f97185a79ff36d22779c787

Sorry, I couldn't add my code in here with Markdown ```. I got an error:

You can't comment at this time — your comment contains unicode characters above 0xffff.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment