diff --git a/themes/liquidprompt/liquidprompt.theme.bash b/themes/liquidprompt/liquidprompt.theme.bash new file mode 100755 index 00000000..60e64210 --- /dev/null +++ b/themes/liquidprompt/liquidprompt.theme.bash @@ -0,0 +1,76 @@ +#!/usr/bin/env bash +# Wrapper to use liquidprompt with bashit + +targetdir="$BASH_IT/themes/liquidprompt/liquidprompt" +gray="\[\e[1;90m\]" + +cwd="$PWD" +if cd "$targetdir" &>/dev/null && git rev-parse --is-inside-work-tree &>/dev/null; then + true +else + git clone https://github.com/nojhan/liquidprompt.git "$targetdir" && \ + echo -e "Successfully cloned liquidprompt!\n More configuration in '$targetdir/liquid.theme'." +fi +cd "$cwd" + +export LP_ENABLE_TIME=1 +export LP_HOSTNAME_ALWAYS=1 +export LP_USER_ALWAYS=1 +export LP_MARK_LOAD="šŸ“ˆ " +export LP_BATTERY_THRESHOLD=${LP_BATTERY_THRESHOLD:-75} +export LP_LOAD_THRESHOLD=${LP_LOAD_THRESHOLD:-60} +export LP_TEMP_THRESHOLD=${LP_TEMP_THRESHOLD:-80} + + +source "$targetdir/liquidprompt" +prompt() { true; } +export PS2=" ā”ƒ " +export LP_PS1_PREFIX="ā”Œā”€" +export LP_PS1_POSTFIX="\n└▪ " +export LP_ENABLE_RUNTIME=0 + +_lp_git_branch() +{ + (( LP_ENABLE_GIT )) || return + + \git rev-parse --is-inside-work-tree >/dev/null 2>&1 || return + + local branch + # Recent versions of Git support the --short option for symbolic-ref, but + # not 1.7.9 (Ubuntu 12.04) + if branch="$(\git symbolic-ref -q HEAD)"; then + _lp_escape "$(\git rev-parse --short=5 -q HEAD 2>/dev/null):${branch#refs/heads/}" + else + # In detached head state, use commit instead + # No escape needed + \git rev-parse --short -q HEAD 2>/dev/null + fi +} + +_lp_time() { + if (( LP_ENABLE_TIME )) && (( ! LP_TIME_ANALOG )); then + LP_TIME="${gray}$(date +%d-%H:%M)${normal}" + else + LP_TIME="" + fi +} + +# Implementation using lm-sensors +_lp_temp_sensors() +{ + local -i i + for i in $(sensors -u | + sed -n 's/^ temp[0-9][0-9]*_input: \([0-9]*\)\..*$/\1/p'); do + (( $i > ${temperature:-0} )) && (( $i != 127 )) && temperature=i + done +} + +# Implementation using 'acpi -t' +_lp_temp_acpi() +{ + local -i i + for i in $(LANG=C acpi -t | + sed 's/.* \(-\?[0-9]*\)\.[0-9]* degrees C$/\1/p'); do + (( $i > ${temperature:-0} )) && (( $i != 127 )) && temperature=i + done +}