feat: adds shell
- polish middle line display: always have starting and ending mark. - adds a shell display (disabled by default)
This commit is contained in:
parent
63abb62b29
commit
a1f701eb1d
4 changed files with 1481 additions and 917 deletions
17
README.md
17
README.md
|
|
@ -195,8 +195,8 @@ Example of a compact prompt:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
#### Specific features
|
|
||||||
|
|
||||||
|
#### Specific features
|
||||||
|
|
||||||
**DOTMATRIX_ENABLE_HISTORY** *boolean = 1*
|
**DOTMATRIX_ENABLE_HISTORY** *boolean = 1*
|
||||||
|
|
||||||
|
|
@ -218,6 +218,21 @@ Maximum length of the *last* command used (counting the `DOTMATRIX_HISTORY_LAST_
|
||||||
Mark to display when the last command string is shortened.
|
Mark to display when the last command string is shortened.
|
||||||
|
|
||||||
|
|
||||||
|
**DOTMATRIX_ENABLE_SHELL** *boolean = 0*
|
||||||
|
|
||||||
|
Display the current shell in the top-right section.
|
||||||
|
|
||||||
|
|
||||||
|
**DOTMATRIX_SHELL_ZSH** *string = "z"*
|
||||||
|
|
||||||
|
The mark indicating a *zsh* shell.
|
||||||
|
|
||||||
|
|
||||||
|
**DOTMATRIX_SHELL_BASH** *string = "b"*
|
||||||
|
|
||||||
|
The mark indicating a *bash* shell.
|
||||||
|
|
||||||
|
|
||||||
#### Generic Markers
|
#### Generic Markers
|
||||||
|
|
||||||
The following options configure some marks that will be used across all variants of the theme.
|
The following options configure some marks that will be used across all variants of the theme.
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,10 @@ _lp_dotmatrix_theme_activate() {
|
||||||
DOTMATRIX_DIFF=${DOTMATRIX_DIFF:-"≠"}
|
DOTMATRIX_DIFF=${DOTMATRIX_DIFF:-"≠"}
|
||||||
|
|
||||||
DOTMATRIX_ENABLE_GRADIENT_LINE=${DOTMATRIX_ENABLE_GRADIENT_LINE:-0}
|
DOTMATRIX_ENABLE_GRADIENT_LINE=${DOTMATRIX_ENABLE_GRADIENT_LINE:-0}
|
||||||
|
DOTMATRIX_ENABLE_SHELL=${DOTMATRIX_ENABLE_SHELL:-0}
|
||||||
|
|
||||||
|
DOTMATRIX_SHELL_ZSH=${DOTMATRIX_SHELL_ZSH:-"z"}
|
||||||
|
DOTMATRIX_SHELL_BASH=${DOTMATRIX_SHELL_BASH:-"b"}
|
||||||
|
|
||||||
DOTMATRIX_ENABLE_HISTORY=${DOTMATRIX_ENABLE_HISTORY:-1}
|
DOTMATRIX_ENABLE_HISTORY=${DOTMATRIX_ENABLE_HISTORY:-1}
|
||||||
DOTMATRIX_HISTORY_LAST_LEN=${DOTMATRIX_HISTORY_LAST_LEN:-$((COLUMNS/4))}
|
DOTMATRIX_HISTORY_LAST_LEN=${DOTMATRIX_HISTORY_LAST_LEN:-$((COLUMNS/4))}
|
||||||
|
|
@ -227,7 +231,25 @@ _lp_dotmatrix_theme_activate() {
|
||||||
[[ ${#DOTMATRIX_COLOR_SEP_LITE[@]} == 0 ]] && DOTMATRIX_COLOR_SEP_LITE=( 15 -2 0 0 15 -2)
|
[[ ${#DOTMATRIX_COLOR_SEP_LITE[@]} == 0 ]] && DOTMATRIX_COLOR_SEP_LITE=( 15 -2 0 0 15 -2)
|
||||||
|
|
||||||
|
|
||||||
|
# LP_COLORMAP=( ${LP_COLORMAP[@]+"${LP_COLORMAP[@]}"} )
|
||||||
|
# if [[ ${#LP_COLORMAP[@]} == 0 ]]; then
|
||||||
|
local lp_terminal_format
|
||||||
|
lp_terminal_format ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
|
||||||
|
local l1="$lp_terminal_format"
|
||||||
|
lp_terminal_format ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
|
||||||
|
local l2="$lp_terminal_format"
|
||||||
|
lp_terminal_format ${DOTMATRIX_COLOR_WARN[@]+"${DOTMATRIX_COLOR_WARN[@]}"}
|
||||||
|
local l3="$lp_terminal_format"
|
||||||
|
LP_COLORMAP=(
|
||||||
|
"" # l0
|
||||||
|
"$l1"
|
||||||
|
"$l2"
|
||||||
|
"$l3"
|
||||||
|
)
|
||||||
|
# fi
|
||||||
|
|
||||||
__dotmatrix_activate_display
|
__dotmatrix_activate_display
|
||||||
|
# __dotmatrix_activate_shell
|
||||||
__dotmatrix_activate_connection
|
__dotmatrix_activate_connection
|
||||||
__dotmatrix_activate_user
|
__dotmatrix_activate_user
|
||||||
__dotmatrix_activate_multiplexer
|
__dotmatrix_activate_multiplexer
|
||||||
|
|
@ -290,21 +312,21 @@ _lp_dotmatrix_theme_prompt() {
|
||||||
local blt_plug="${dotmatrix_sep}"
|
local blt_plug="${dotmatrix_sep}"
|
||||||
|
|
||||||
local battery=
|
local battery=
|
||||||
if _lp_battery ; then
|
if _lp_battery_color ; then
|
||||||
__dotmatrix_make_field "$lp_battery" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
|
__dotmatrix_make_field "$lp_battery" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
|
||||||
battery="${dotmatrix_field}${LP_MARK_BATTERY}"
|
battery="${dotmatrix_field}${LP_MARK_BATTERY}"
|
||||||
has_notes=$((has_notes+1))
|
has_notes=$((has_notes+1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local load=
|
local load=
|
||||||
if _lp_load ; then
|
if _lp_load_color ; then
|
||||||
__dotmatrix_make_field "$lp_load" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
|
__dotmatrix_make_field "$lp_load" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
|
||||||
load="${dotmatrix_field}${LP_MARK_LOAD}"
|
load="${dotmatrix_field}${LP_MARK_LOAD}"
|
||||||
has_notes=$((has_notes+1))
|
has_notes=$((has_notes+1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local temperature=
|
local temperature=
|
||||||
if _lp_temperature ; then
|
if _lp_temperature_color ; then
|
||||||
__dotmatrix_make_field "$lp_temperature" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
|
__dotmatrix_make_field "$lp_temperature" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
|
||||||
temperature="${dotmatrix_field}${LP_MARK_TEMP}"
|
temperature="${dotmatrix_field}${LP_MARK_TEMP}"
|
||||||
has_notes=$((has_notes+1))
|
has_notes=$((has_notes+1))
|
||||||
|
|
@ -363,6 +385,11 @@ _lp_dotmatrix_theme_prompt() {
|
||||||
side+="${lp_terminal_format}"
|
side+="${lp_terminal_format}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Called here for an easy access to the configured color.
|
||||||
|
if __dotmatrix_activate_shell ; then
|
||||||
|
side+="${_DOTMATRIX_SHELL}"
|
||||||
|
fi
|
||||||
|
|
||||||
# clock
|
# clock
|
||||||
if _lp_time ; then
|
if _lp_time ; then
|
||||||
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
|
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
|
||||||
|
|
@ -398,7 +425,7 @@ _lp_dotmatrix_theme_prompt() {
|
||||||
|
|
||||||
lp_terminal_format ${DOTMATRIX_COLOR_LINE[@]+"${DOTMATRIX_COLOR_LINE[@]}"}
|
lp_terminal_format ${DOTMATRIX_COLOR_LINE[@]+"${DOTMATRIX_COLOR_LINE[@]}"}
|
||||||
|
|
||||||
local inline_left="${NO_COL}$LP_PS1_PREFIX${lp_terminal_format}"
|
local inline_left="${NO_COL}$LP_PS1_PREFIX${lp_terminal_format}${DOTMATRIX_LINE}"
|
||||||
|
|
||||||
# Dev env section.
|
# Dev env section.
|
||||||
local ista="$_LP_FIRST_INDEX"
|
local ista="$_LP_FIRST_INDEX"
|
||||||
|
|
@ -447,6 +474,8 @@ _lp_dotmatrix_theme_prompt() {
|
||||||
inline_right="$d${hist_most}$I${hist_last}$b"
|
inline_right="$d${hist_most}$I${hist_last}$b"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
inline_right+="${DOTMATRIX_LINE}"
|
||||||
|
|
||||||
local inline
|
local inline
|
||||||
# FIXME use _lp_fill-like function to handle multi-character line?
|
# FIXME use _lp_fill-like function to handle multi-character line?
|
||||||
if ((DOTMATRIX_ENABLE_GRADIENT_LINE)); then
|
if ((DOTMATRIX_ENABLE_GRADIENT_LINE)); then
|
||||||
|
|
@ -572,6 +601,20 @@ __dotmatrix_activate_display() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__dotmatrix_activate_shell() {
|
||||||
|
((DOTMATRIX_ENABLE_SHELL)) || return 2
|
||||||
|
|
||||||
|
if ((_LP_SHELL_zsh)) ; then
|
||||||
|
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
|
||||||
|
__dotmatrix_make_field "$DOTMATRIX_SHELL_ZSH" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
|
||||||
|
_DOTMATRIX_SHELL="${dotmatrix_sep}${dotmatrix_field}"
|
||||||
|
else
|
||||||
|
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
|
||||||
|
__dotmatrix_make_field "$DOTMATRIX_SHELL_BASH" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
|
||||||
|
_DOTMATRIX_SHELL="${dotmatrix_sep}${dotmatrix_field}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
__dotmatrix_activate_connection() {
|
__dotmatrix_activate_connection() {
|
||||||
_lp_user
|
_lp_user
|
||||||
|
|
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load diff
|
Before Width: | Height: | Size: 145 KiB After Width: | Height: | Size: 166 KiB |
Loading…
Add table
Add a link
Reference in a new issue