mirror of
https://github.com/romkatv/powerlevel10k.git
synced 2024-12-18 05:40:07 +00:00
Merge branch 'battery' of https://github.com/onaforeignshore/powerlevel9k into onaforeignshore-battery
This commit is contained in:
parent
954c8697e7
commit
98a00d31a8
2 changed files with 67 additions and 6 deletions
52
README.md
52
README.md
|
@ -184,9 +184,8 @@ your `~/.zshrc`:
|
||||||
|
|
||||||
##### battery
|
##### battery
|
||||||
|
|
||||||
This segment will display your current battery status (fails gracefully on
|
The default settings for this segment will display your current battery status (fails gracefully on
|
||||||
systems without a battery). It is supported on both OSX and Linux (note that it
|
systems without a battery). It is supported on both OSX and Linux (note that it requires `acpi` on Linux).
|
||||||
requires `acpi` on Linux).
|
|
||||||
|
|
||||||
| Variable | Default Value | Description |
|
| Variable | Default Value | Description |
|
||||||
|----------|---------------|-------------|
|
|----------|---------------|-------------|
|
||||||
|
@ -201,6 +200,53 @@ Note that you can [modify the `_FOREGROUND`
|
||||||
color](https://github.com/bhilburn/powerlevel9k/wiki/Stylizing-Your-Prompt#segment-color-customization)
|
color](https://github.com/bhilburn/powerlevel9k/wiki/Stylizing-Your-Prompt#segment-color-customization)
|
||||||
without affecting the icon color.
|
without affecting the icon color.
|
||||||
|
|
||||||
|
The battery segment can also be extended to change the icon automatically depending on the battery level.
|
||||||
|
This will override the default battery icon. In order to do this, you need to define the
|
||||||
|
`POWERLEVEL9k_BATTERY_STAGES` variable.
|
||||||
|
|
||||||
|
| Variable | Default Value | Description |
|
||||||
|
| `POWERLEVEL9K_BATTERY_STAGES`|Unset|A string or array to indicate the stages.|
|
||||||
|
|
||||||
|
If you want to use a string, you can declare the variable as follows:
|
||||||
|
```zsh
|
||||||
|
POWERLEVEL9K_BATTERY_STAGES="▁▂▃▄▅▆▇█"
|
||||||
|
```
|
||||||
|
|
||||||
|
If you require extra spacing after the icon, you will have to set it as an array,
|
||||||
|
since spaces in the string will be used as one of the stages and you will get a
|
||||||
|
missing icon. To do this, declare the variable as follows:
|
||||||
|
```zsh
|
||||||
|
POWERLEVEL9K_BATTERY_STAGES=($'\u2581 ' $'\u2582 ' $'\u2583 ' $'\u2584 ' $'\u2585 ' $'\u2586 ' $'\u2587 ' $'\u2588 ')
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also use a multiple character "icon" if you want a longer battery icon. To do
|
||||||
|
this, declare the variable as follows:
|
||||||
|
```zsh
|
||||||
|
POWERLEVEL9K_BATTERY_STAGES=(
|
||||||
|
$'▏ ▏' $'▎ ▏' $'▍ ▏' $'▌ ▏' $'▋ ▏' $'▊ ▏' $'▉ ▏' $'█ ▏'
|
||||||
|
$'█▏ ▏' $'█▎ ▏' $'█▍ ▏' $'█▌ ▏' $'█▋ ▏' $'█▊ ▏' $'█▉ ▏' $'██ ▏'
|
||||||
|
$'██ ▏' $'██▎ ▏' $'██▍ ▏' $'██▌ ▏' $'██▋ ▏' $'██▊ ▏' $'██▉ ▏' $'███ ▏'
|
||||||
|
$'███ ▏' $'███▎ ▏' $'███▍ ▏' $'███▌ ▏' $'███▋ ▏' $'███▊ ▏' $'███▉ ▏' $'████ ▏'
|
||||||
|
$'████ ▏' $'████▎▏' $'████▍▏' $'████▌▏' $'████▋▏' $'████▊▏' $'████▉▏' $'█████▏' )
|
||||||
|
```
|
||||||
|
|
||||||
|
It is now also possible to change the background of the segment automatically depending on
|
||||||
|
the battery level. This will override the following variables: `POWERLEVEL9K_BATTERY_CHARGING`,
|
||||||
|
`POWERLEVEL9K_BATTERY_CHARGED`, `POWERLEVEL9K_BATTERY_DISCONNECTED`, and `POWERLEVEL9K_BATTERY_LOW_COLOR`.
|
||||||
|
In order to do this, we define a color array (from low to high) as follows:
|
||||||
|
```zsh
|
||||||
|
POWERLEVEL9K_BATTERY_LEVEL_BACKGROUND=(196 202 208 214 220 226 190 154 118 82 46)
|
||||||
|
```
|
||||||
|
|
||||||
|
|Brightness|Possible Array|
|
||||||
|
|Bright Colors|(196 202 208 214 220 226 190 154 118 82 46)|
|
||||||
|
|Normal Colors|(124 130 136 142 148 112 76 40 34 28 22)|
|
||||||
|
|Subdued Colors|( 88 94 100 106 70 34 28 22)|
|
||||||
|
|
||||||
|
Please note the following:
|
||||||
|
* an array declarations start with `(` and end with `)`.
|
||||||
|
* both the icon and background changing levels are automatically calculated, so they can be any length.
|
||||||
|
|
||||||
##### command_execution_time
|
##### command_execution_time
|
||||||
|
|
||||||
Display the time the previous command took to execute if the time is above
|
Display the time the previous command took to execute if the time is above
|
||||||
|
|
|
@ -468,9 +468,24 @@ prompt_battery() {
|
||||||
message="$bat_percent%%"
|
message="$bat_percent%%"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Draw the prompt_segment
|
# override default icon if we are using battery stages
|
||||||
if [[ -n $bat_percent ]]; then
|
if [[ -n "$POWERLEVEL9K_BATTERY_STAGES" ]]; then
|
||||||
"$1_prompt_segment" "${0}_${current_state}" "$2" "$DEFAULT_COLOR" "${battery_states[$current_state]}" "$message" 'BATTERY_ICON'
|
local segment=$(( 100.0 / (${#POWERLEVEL9K_BATTERY_STAGES} - 1 ) ))
|
||||||
|
if [[ $segment > 1 ]]; then
|
||||||
|
local offset=$(( ($bat_percent / $segment) + 1 ))
|
||||||
|
# check if the stages are in an array or a string
|
||||||
|
[[ "${(t)POWERLEVEL9K_BATTERY_STAGES}" =~ "array" ]] && POWERLEVEL9K_BATTERY_ICON="$POWERLEVEL9K_BATTERY_STAGES[$offset]" || POWERLEVEL9K_BATTERY_ICON=${POWERLEVEL9K_BATTERY_STAGES:$offset:1}
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# override the default color if we are using a color level array
|
||||||
|
if [[ -n "$POWERLEVEL9K_BATTERY_LEVEL_BACKGROUND" ]] && [[ "${(t)POWERLEVEL9K_BATTERY_LEVEL_BACKGROUND}" =~ "array" ]]; then
|
||||||
|
local segment=$(( 100.0 / (${#POWERLEVEL9K_BATTERY_LEVEL_BACKGROUND} - 1 ) ))
|
||||||
|
local offset=$(( ($bat_percent / $segment) + 1 ))
|
||||||
|
"$1_prompt_segment" "$0_${current_state}" "$2" "${POWERLEVEL9K_BATTERY_LEVEL_BACKGROUND[$offset]}" "${battery_states[$current_state]}" "${message}" "BATTERY_ICON"
|
||||||
|
else
|
||||||
|
# Draw the prompt_segment
|
||||||
|
"$1_prompt_segment" "$0_${current_state}" "$2" "${DEFAULT_COLOR}" "${battery_states[$current_state]}" "${message}" "BATTERY_ICON"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue