add examples an explanations on how to make themes
This commit is contained in:
parent
660bc29d8c
commit
c90f31351c
41
README.md
41
README.md
@ -92,7 +92,7 @@ For other features, the script uses commands that should be available on a large
|
|||||||
variety of unixes: `tput`, `grep`, `awk`, `sed`, `ps`, `who`.
|
variety of unixes: `tput`, `grep`, `awk`, `sed`, `ps`, `who`.
|
||||||
|
|
||||||
|
|
||||||
## PUT THE PROMPT IN A DIFFERENT ORDER
|
## FEATURES CONFIGURATION
|
||||||
|
|
||||||
You can configure some variables in the `~/.liquidpromptrc` file:
|
You can configure some variables in the `~/.liquidpromptrc` file:
|
||||||
|
|
||||||
@ -107,11 +107,39 @@ path
|
|||||||
* `LP_HOSTNAME_ALWAYS`, choose between always displaying the hostname or showing
|
* `LP_HOSTNAME_ALWAYS`, choose between always displaying the hostname or showing
|
||||||
it only when connected with a remote shell
|
it only when connected with a remote shell
|
||||||
|
|
||||||
You can sort what you want to see by exporting the `LP_PS1` variable, using the
|
|
||||||
variables you will found in the `_lp_set_bash_prompt` function.
|
## PUT THE PROMPT IN A DIFFERENT ORDER
|
||||||
|
|
||||||
|
You can sort what you want to see by sourcing your favorite template file
|
||||||
|
(`*.ps1`), after having sourced the liquid prompt.
|
||||||
|
|
||||||
|
Those scripts basically export the `LP_PS1` variable, by appending features and
|
||||||
|
theme colors.
|
||||||
|
|
||||||
|
Available features:
|
||||||
|
* `LP_BATT` battery
|
||||||
|
* `LP_LOAD` load
|
||||||
|
* `LP_JOBS` screen sessions/running jobs/suspended jobs
|
||||||
|
* `LP_USER` user
|
||||||
|
* `LP_HOST` hostname
|
||||||
|
* `LP_PERM` a colon ":"
|
||||||
|
* `LP_PWD` current working directory
|
||||||
|
* `LP_PROXY` HTTP proxy
|
||||||
|
* `LP_GIT` git
|
||||||
|
* `LP_HG` mercurial
|
||||||
|
* `LP_SVN` subversion
|
||||||
|
* `LP_ERR` last error code
|
||||||
|
* `LP_MARK` prompt mark
|
||||||
|
|
||||||
|
Some indicators are not colored by default (mainly those that are _static_), to
|
||||||
|
put colors on theme you should not forget to add themed colors variable around
|
||||||
|
them:
|
||||||
|
|
||||||
|
LP_PS1="${LP_ERR}" # no color
|
||||||
|
LP_PS1="${LP_COLOR_ERR}${LP_ERR}${NO_COL}" # colored
|
||||||
|
|
||||||
For example, if you just want to have a liquidprompt displaying the user and the
|
For example, if you just want to have a liquidprompt displaying the user and the
|
||||||
host, with a normal path in blue and only the git support:
|
host, with a normal full path in blue and only the git support:
|
||||||
|
|
||||||
export LP_PS1=`echo -ne "[\${LP_USER}\${LP_HOST}:\${BLUE}\$(pwd)\${NO_COL}] \${LP_GIT} \\\$ "`
|
export LP_PS1=`echo -ne "[\${LP_USER}\${LP_HOST}:\${BLUE}\$(pwd)\${NO_COL}] \${LP_GIT} \\\$ "`
|
||||||
|
|
||||||
@ -125,13 +153,14 @@ To erase your new formatting, just bring the `LP_PS1` to a null string:
|
|||||||
|
|
||||||
## COLOR THEMES
|
## COLOR THEMES
|
||||||
|
|
||||||
You can change the colors of some part of the liquid prompt by changing the
|
You can change the colors of some part of the liquid prompt by sourcing your
|
||||||
following parameters in the config file.
|
favorite theme file (`*.theme`), before or after having sourced the liquid prompt.
|
||||||
|
|
||||||
Available colors are:
|
Available colors are:
|
||||||
BOLD, BLACK, BOLD_GRAY, WHITE, BOLD_WHITE,
|
BOLD, BLACK, BOLD_GRAY, WHITE, BOLD_WHITE,
|
||||||
GREEN, BOLD_GREEN, YELLOW, BOLD_YELLOW, BLUE, BOLD_BLUE, PINK, CYAN, BOLD_CYAN
|
GREEN, BOLD_GREEN, YELLOW, BOLD_YELLOW, BLUE, BOLD_BLUE, PINK, CYAN, BOLD_CYAN
|
||||||
RED, BOLD_RED, WARN_RED, CRIT_RED, DANGER_RED,
|
RED, BOLD_RED, WARN_RED, CRIT_RED, DANGER_RED,
|
||||||
|
NO_COL.
|
||||||
Set to a null string "" if you do not want color.
|
Set to a null string "" if you do not want color.
|
||||||
|
|
||||||
* Current working directory
|
* Current working directory
|
||||||
|
41
liquid.ps1
Normal file
41
liquid.ps1
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
|
||||||
|
#######################################
|
||||||
|
# LIQUID PROMPT DEFAULT TEMPLATE FILE #
|
||||||
|
#######################################
|
||||||
|
|
||||||
|
# Available features:
|
||||||
|
# LP_BATT battery
|
||||||
|
# LP_LOAD load
|
||||||
|
# LP_JOBS screen sessions/running jobs/suspended jobs
|
||||||
|
# LP_USER user
|
||||||
|
# LP_HOST hostname
|
||||||
|
# LP_PERM a colon ":"
|
||||||
|
# LP_PWD current working directory
|
||||||
|
# LP_PROXY HTTP proxy
|
||||||
|
# LP_GIT git
|
||||||
|
# LP_HG mercurial
|
||||||
|
# LP_SVN subversion
|
||||||
|
# LP_ERR last error code
|
||||||
|
# LP_MARK prompt mark
|
||||||
|
|
||||||
|
# add jobs, load and battery
|
||||||
|
LP_PS1="${LP_BATT}${LP_LOAD}${LP_JOBS}"
|
||||||
|
# add user, host and permissions colon
|
||||||
|
LP_PS1="${LP_PS1}[${LP_USER}${LP_HOST}${LP_PERM}"
|
||||||
|
|
||||||
|
# if not root
|
||||||
|
if [[ "$EUID" -ne "0" ]]
|
||||||
|
then
|
||||||
|
# path in foreground color
|
||||||
|
LP_PS1="${LP_PS1}${LP_COLOR_PATH}${LP_PWD}${NO_COL}]${LP_COLOR_PROXY}${LP_PROXY}${NO_COL}"
|
||||||
|
# add VCS infos
|
||||||
|
LP_PS1="${LP_PS1}${LP_GIT}${LP_HG}${LP_SVN}"
|
||||||
|
else
|
||||||
|
# path in yellow
|
||||||
|
LP_PS1="${LP_PS1}${LP_PATH_ROOT}${LP_PWD}${NO_COL}]${LP_COLOR_PROXY}${LP_PROXY}${NO_COL}"
|
||||||
|
# do not add VCS infos
|
||||||
|
fi
|
||||||
|
# add return code and prompt mark
|
||||||
|
LP_PS1="${LP_PS1}${LP_COLOR_ERR}${LP_ERR}${NO_COL}${LP_MARK}"
|
||||||
|
|
||||||
|
# vim: set ts=4 sw=4 tw=120 ft=sh:
|
96
liquid.theme
Normal file
96
liquid.theme
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
|
||||||
|
####################################
|
||||||
|
# LIQUID PROMPT DEFAULT THEME FILE #
|
||||||
|
####################################
|
||||||
|
|
||||||
|
# Special characters
|
||||||
|
# Be sure to use characters that exists in the font you use. You can use several
|
||||||
|
# characters at once.
|
||||||
|
# Below is an example of how to fallback to ascii if the term is not unicode capable.
|
||||||
|
# Defaults to UTF-8 characters.
|
||||||
|
if [[ "$(locale -k LC_CTYPE | sed -n 's/^charmap="\(.*\)"/\1/p')" == *"UTF-8"* ]] ; then
|
||||||
|
# If charset is UTF-8.
|
||||||
|
LP_BATTERY_MARK="⌁" # in front of the battery charge
|
||||||
|
LP_ADAPTER_MARK="⏚" # displayed when plugged
|
||||||
|
LP_LOAD_MARK="⌂" # in front of the load
|
||||||
|
LP_PROXY_MARK="↥" # indicate a proxy in use
|
||||||
|
LP_GIT_MARK="±" # prompt mark in git repositories
|
||||||
|
LP_MERCURIAL_MARK="☿" # prompt mark in hg repositories
|
||||||
|
LP_SUBVERSION_MARK="‡" # prompt mark in svn repositories
|
||||||
|
else
|
||||||
|
# If charset is anything else, fallback to ASCII chars
|
||||||
|
LP_BATTERY_MARK="b"
|
||||||
|
LP_ADAPTER_MARK="p"
|
||||||
|
LP_LOAD_MARK="c"
|
||||||
|
LP_PROXY_MARK="^"
|
||||||
|
LP_GIT_MARK="+"
|
||||||
|
LP_MERCURIAL_MARK="m"
|
||||||
|
LP_SUBVERSION_MARK="="
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Colors
|
||||||
|
# Available colors are:
|
||||||
|
# BOLD, BLACK, BOLD_GRAY, WHITE, BOLD_WHITE,
|
||||||
|
# GREEN, BOLD_GREEN, YELLOW, BOLD_YELLOW, BLUE, BOLD_BLUE, PINK, CYAN, BOLD_CYAN
|
||||||
|
# RED, BOLD_RED, WARN_RED, CRIT_RED, DANGER_RED,
|
||||||
|
# Set to a null string "" if you do not want color.
|
||||||
|
|
||||||
|
# Current working directory
|
||||||
|
LP_COLOR_PATH="$BOLD_WHITE" # as normal user
|
||||||
|
LP_COLOR_PATH_ROOT="$BOLD_YELLOW" # as root
|
||||||
|
|
||||||
|
# Color of the proxy mark
|
||||||
|
LP_COLOR_PROXY="$BOLD_BLUE"
|
||||||
|
|
||||||
|
# Jobs count
|
||||||
|
LP_COLOR_JOB_D="$YELLOW" # Detached (aka screen sessions)
|
||||||
|
LP_COLOR_JOB_R="$BOLD_YELLOW" # Running (xterm &)
|
||||||
|
LP_COLOR_JOB_Z="$BOLD_YELLOW" # Sleeping (Ctrl-Z)
|
||||||
|
|
||||||
|
# Last error code
|
||||||
|
LP_COLOR_ERR="$PURPLE"
|
||||||
|
|
||||||
|
# Prompt mark
|
||||||
|
LP_COLOR_MARK="$BOLD_WHITE" # as user
|
||||||
|
LP_COLOR_MARK_ROOT="$BOLD_RED" # as root
|
||||||
|
|
||||||
|
# Current user
|
||||||
|
LP_COLOR_USER_LOGGED="" # user who logged in
|
||||||
|
LP_COLOR_USER_ALT="$BOLD" # user but not the one who logged in
|
||||||
|
LP_COLOR_USER_ROOT="$BOLD_YELLOW" # root
|
||||||
|
|
||||||
|
# Hostname
|
||||||
|
LP_COLOR_HOST="" # local host
|
||||||
|
LP_COLOR_SSH="$BOLD_CYAN" # connected via SSH
|
||||||
|
LP_COLOR_TELNET="$WARN_RED" # connected via telnet
|
||||||
|
|
||||||
|
# Separation mark (aka permiison in the working dir)
|
||||||
|
LP_COLOR_WRITE="$GREEN" # have write permission
|
||||||
|
LP_COLOR_NOWRITE="$RED" # do not have write permission
|
||||||
|
|
||||||
|
# VCS
|
||||||
|
LP_COLOR_UP="$GREEN" # repository is up to date / a push have been made
|
||||||
|
LP_COLOR_COMMITS="$YELLOW" # some commits have not been pushed
|
||||||
|
LP_COLOR_CHANGES="$RED" # there is some changes to commit
|
||||||
|
LP_COLOR_DIFF="$PURPLE" # number of lines impacted by current changes
|
||||||
|
|
||||||
|
# Battery
|
||||||
|
LP_COLOR_CHARGING_ABOVE="$GREEN" # charging and above threshold
|
||||||
|
LP_COLOR_CHARGING_UNDER="$YELLOW" # charging but under threshold
|
||||||
|
LP_COLOR_DISCHARGING_ABOVE="$YELLOW" # discharging but above threshold
|
||||||
|
LP_COLOR_DISCHARGING_UNDER="$RED" # discharging and under threshold
|
||||||
|
|
||||||
|
# Color maps (battery and load levels)
|
||||||
|
# Range from 0 (nothing special) to 9 (alert)
|
||||||
|
LP_COLORMAP_0=""
|
||||||
|
LP_COLORMAP_1="$GREEN"
|
||||||
|
LP_COLORMAP_2="$BOLD_GREEN"
|
||||||
|
LP_COLORMAP_3="$YELLOW"
|
||||||
|
LP_COLORMAP_4="$BOLD_YELLOW"
|
||||||
|
LP_COLORMAP_5="$RED"
|
||||||
|
LP_COLORMAP_6="$BOLD_RED"
|
||||||
|
LP_COLORMAP_7="$WARN_RED"
|
||||||
|
LP_COLORMAP_8="$CRIT_RED"
|
||||||
|
LP_COLORMAP_9="$DANGER_RED"
|
||||||
|
|
||||||
|
# vim: set ts=4 sw=4 tw=120 ft=sh:
|
@ -934,7 +934,7 @@ _lp_sb()
|
|||||||
_lp_set_bash_prompt()
|
_lp_set_bash_prompt()
|
||||||
{
|
{
|
||||||
# as this get the last returned code, it should be called first
|
# as this get the last returned code, it should be called first
|
||||||
LP_RET=$(_lp_sl "$(_lp_return_value $?)")
|
LP_ERR=$(_lp_sl "$(_lp_return_value $?)")
|
||||||
|
|
||||||
# execute the old prompt
|
# execute the old prompt
|
||||||
$LP_OLD_PROMPT_COMMAND
|
$LP_OLD_PROMPT_COMMAND
|
||||||
@ -978,7 +978,7 @@ _lp_set_bash_prompt()
|
|||||||
# do not add VCS infos
|
# do not add VCS infos
|
||||||
fi
|
fi
|
||||||
# add return code and prompt mark
|
# add return code and prompt mark
|
||||||
PS1="${PS1}${LP_COLOR_ERR}${LP_RET}${NO_COL}${LP_MARK}"
|
PS1="${PS1}${LP_COLOR_ERR}${LP_ERR}${NO_COL}${LP_MARK}"
|
||||||
|
|
||||||
# Glue the bash prompt always go to the first column.
|
# Glue the bash prompt always go to the first column.
|
||||||
# Avoid glitches after interrupting a command with Ctrl-C
|
# Avoid glitches after interrupting a command with Ctrl-C
|
||||||
|
@ -28,99 +28,4 @@ LP_PATH_KEEP=2
|
|||||||
# set to 1 if you want to always see the hostname
|
# set to 1 if you want to always see the hostname
|
||||||
LP_HOSTNAME_ALWAYS=0
|
LP_HOSTNAME_ALWAYS=0
|
||||||
|
|
||||||
|
|
||||||
##########
|
|
||||||
# THEMES #
|
|
||||||
##########
|
|
||||||
|
|
||||||
# Special characters
|
|
||||||
# Be sure to use characters that exists in the font you use. You can use several
|
|
||||||
# characters at once.
|
|
||||||
# Below is an example of how to fallback to ascii if the term is not unicode capable.
|
|
||||||
# Defaults to UTF-8 characters.
|
|
||||||
if [[ "$(locale -k LC_CTYPE | sed -n 's/^charmap="\(.*\)"/\1/p')" == *"UTF-8"* ]] ; then
|
|
||||||
# If charset is UTF-8.
|
|
||||||
LP_BATTERY_MARK="⌁" # in front of the battery charge
|
|
||||||
LP_ADAPTER_MARK="⏚" # displayed when plugged
|
|
||||||
LP_LOAD_MARK="⌂" # in front of the load
|
|
||||||
LP_PROXY_MARK="↥" # indicate a proxy in use
|
|
||||||
LP_GIT_MARK="±" # prompt mark in git repositories
|
|
||||||
LP_MERCURIAL_MARK="☿" # prompt mark in hg repositories
|
|
||||||
LP_SUBVERSION_MARK="‡" # prompt mark in svn repositories
|
|
||||||
else
|
|
||||||
# If charset is anything else, fallback to ASCII chars
|
|
||||||
LP_BATTERY_MARK="b"
|
|
||||||
LP_ADAPTER_MARK="p"
|
|
||||||
LP_LOAD_MARK="c"
|
|
||||||
LP_PROXY_MARK="^"
|
|
||||||
LP_GIT_MARK="+"
|
|
||||||
LP_MERCURIAL_MARK="m"
|
|
||||||
LP_SUBVERSION_MARK="="
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Colors
|
|
||||||
# Available colors are:
|
|
||||||
# BOLD, BLACK, BOLD_GRAY, WHITE, BOLD_WHITE,
|
|
||||||
# GREEN, BOLD_GREEN, YELLOW, BOLD_YELLOW, BLUE, BOLD_BLUE, PINK, CYAN, BOLD_CYAN
|
|
||||||
# RED, BOLD_RED, WARN_RED, CRIT_RED, DANGER_RED,
|
|
||||||
# Set to a null string "" if you do not want color.
|
|
||||||
|
|
||||||
# Current working directory
|
|
||||||
LP_COLOR_PATH="$BOLD_WHITE" # as normal user
|
|
||||||
LP_COLOR_PATH_ROOT="$BOLD_YELLOW" # as root
|
|
||||||
|
|
||||||
# Color of the proxy mark
|
|
||||||
LP_COLOR_PROXY="$BOLD_BLUE"
|
|
||||||
|
|
||||||
# Jobs count
|
|
||||||
LP_COLOR_JOB_D="$YELLOW" # Detached (aka screen sessions)
|
|
||||||
LP_COLOR_JOB_R="$BOLD_YELLOW" # Running (xterm &)
|
|
||||||
LP_COLOR_JOB_Z="$BOLD_YELLOW" # Sleeping (Ctrl-Z)
|
|
||||||
|
|
||||||
# Last error code
|
|
||||||
LP_COLOR_ERR="$PURPLE"
|
|
||||||
|
|
||||||
# Prompt mark
|
|
||||||
LP_COLOR_MARK="$BOLD_WHITE" # as user
|
|
||||||
LP_COLOR_MARK_ROOT="$BOLD_RED" # as root
|
|
||||||
|
|
||||||
# Current user
|
|
||||||
LP_COLOR_USER_LOGGED="" # user who logged in
|
|
||||||
LP_COLOR_USER_ALT="$BOLD" # user but not the one who logged in
|
|
||||||
LP_COLOR_USER_ROOT="$BOLD_YELLOW" # root
|
|
||||||
|
|
||||||
# Hostname
|
|
||||||
LP_COLOR_HOST="" # local host
|
|
||||||
LP_COLOR_SSH="$BOLD_CYAN" # connected via SSH
|
|
||||||
LP_COLOR_TELNET="$WARN_RED" # connected via telnet
|
|
||||||
|
|
||||||
# Separation mark (aka permiison in the working dir)
|
|
||||||
LP_COLOR_WRITE="$GREEN" # have write permission
|
|
||||||
LP_COLOR_NOWRITE="$RED" # do not have write permission
|
|
||||||
|
|
||||||
# VCS
|
|
||||||
LP_COLOR_UP="$GREEN" # repository is up to date / a push have been made
|
|
||||||
LP_COLOR_COMMITS="$YELLOW" # some commits have not been pushed
|
|
||||||
LP_COLOR_CHANGES="$RED" # there is some changes to commit
|
|
||||||
LP_COLOR_DIFF="$PURPLE" # number of lines impacted by current changes
|
|
||||||
|
|
||||||
# Battery
|
|
||||||
LP_COLOR_CHARGING_ABOVE="$GREEN" # charging and above threshold
|
|
||||||
LP_COLOR_CHARGING_UNDER="$YELLOW" # charging but under threshold
|
|
||||||
LP_COLOR_DISCHARGING_ABOVE="$YELLOW" # discharging but above threshold
|
|
||||||
LP_COLOR_DISCHARGING_UNDER="$RED" # discharging and under threshold
|
|
||||||
|
|
||||||
# Color maps (battery and load levels)
|
|
||||||
# Range from 0 (nothing special) to 9 (alert)
|
|
||||||
LP_COLORMAP_0=""
|
|
||||||
LP_COLORMAP_1="$GREEN"
|
|
||||||
LP_COLORMAP_2="$BOLD_GREEN"
|
|
||||||
LP_COLORMAP_3="$YELLOW"
|
|
||||||
LP_COLORMAP_4="$BOLD_YELLOW"
|
|
||||||
LP_COLORMAP_5="$RED"
|
|
||||||
LP_COLORMAP_6="$BOLD_RED"
|
|
||||||
LP_COLORMAP_7="$WARN_RED"
|
|
||||||
LP_COLORMAP_8="$CRIT_RED"
|
|
||||||
LP_COLORMAP_9="$DANGER_RED"
|
|
||||||
|
|
||||||
# vim: set ts=4 sw=4 tw=120 ft=sh:
|
# vim: set ts=4 sw=4 tw=120 ft=sh:
|
||||||
|
Loading…
Reference in New Issue
Block a user