Compare commits

...

10 Commits

Author SHA1 Message Date
Li Haoyuan 69d0d6fe5d
Merge 4ab4a1353f into 05b11d8b92 2025-01-24 15:58:20 +01:00
Roman Perepelitsa 05b11d8b92 Merge branch 'tspearconquest-master' 2025-01-23 19:32:42 +01:00
Thomas D. Spear eb487f836a Fix word splitting issues in README.md
Signed-off-by: Thomas D. Spear <thomas.spear@wcgclinical.com>
2025-01-23 12:22:24 -06:00
Thomas D. Spear f3b05b4448 Fix word splitting issues in README.md
Signed-off-by: Thomas D. Spear <thomas.spear@wcgclinical.com>
2025-01-22 16:30:02 -06:00
Li Haoyuan 4ab4a1353f
Merge branch 'romkatv:master' into battery-prompt-for-windows 2024-11-05 16:03:14 +08:00
Li Haoyuan 20fc7b8a26
Merge branch 'romkatv:master' into battery-prompt-for-windows 2024-10-14 19:53:44 +08:00
Li Haoyuan 71d628cc8a fix: Fix the logic of displaying the remain time when battery is charged or charging. 2024-07-12 02:37:25 +08:00
Li Haoyuan bc0f9341da refactor: Change the method of parsing wmic output, improve performance. 2024-07-12 02:28:25 +08:00
Li Haoyuan 39e1c51ae3 feat: Add segment comment 2024-07-10 13:44:46 +08:00
Li Haoyuan 14a038bbda feat: Add battery prompt for Windows 2024-07-10 13:40:32 +08:00
2 changed files with 64 additions and 6 deletions

View File

@ -455,13 +455,13 @@ make sure to disable the current theme in your plugin manager. See
1. Clone the repository:
```zsh
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
```
Users in China can use the official mirror on gitee.com for faster download.<br>
中国用户可以使用 gitee.com 上的官方镜像加速下载.
```zsh
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
```
2. Open `~/.zshrc`, find the line that sets `ZSH_THEME`, and change its value to `"powerlevel10k/powerlevel10k"`.
@ -857,7 +857,7 @@ The command to update Powerlevel10k depends on how it was installed.
| Installation | Update command |
|-------------------------------|-------------------------------------------------------------|
| [Manual](#manual) | `git -C ~/powerlevel10k pull` |
| [Oh My Zsh](#oh-my-zsh) | `git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k pull` |
| [Oh My Zsh](#oh-my-zsh) | `git -C "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k" pull` |
| [Prezto](#prezto) | `zprezto-update` |
| [Zim](#zim) | `zimfw update` |
| [Antigen](#antigen) | `antigen update` |
@ -911,7 +911,7 @@ The command to update Powerlevel10k depends on how it was installed.
| Installation | Uninstall command |
|-------------------------------|------------------------------------------------------------------|
| [Manual](#manual) | `rm -rf ~/powerlevel10k` |
| [Oh My Zsh](#oh-my-zsh) | `rm -rf -- ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k` |
| [Oh My Zsh](#oh-my-zsh) | `rm -rf -- "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"` |
| [Prezto](#prezto) | n/a |
| [Zim](#zim) | `zimfw uninstall` |
| [Antigen](#antigen) | `antigen purge romkatv/powerlevel10k` |
@ -1003,7 +1003,7 @@ Powerlevel10k does not affect:
1. Run this command:
```zsh
# Add powerlevel10k to the list of Oh My Zsh themes.
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
# Replace ZSH_THEME="powerlevel9k/powerlevel9k" with ZSH_THEME="powerlevel10k/powerlevel10k".
sed -i.bak 's/powerlevel9k/powerlevel10k/g' ~/.zshrc
# Restart Zsh.
@ -1574,7 +1574,7 @@ When opening a terminal, or starting zsh manually, you may encounter this error
- If `typeset -p P9K_VERSION` fails with the error `typeset: no such variable: P9K_VERSION`, run
the following command:
```zsh
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
```
2. Restart Zsh with `exec zsh`.

View File

@ -1344,6 +1344,16 @@ _p9k_prompt_battery_init() {
_p9k__async_segments_compute+='_p9k_worker_invoke battery _p9k_prompt_battery_compute'
return
fi
if [[ $_p9k_os == Windows ]]; then
if command -v wmic > /dev/null 2>&1; then # Test "wimc" command
_p9k__async_segments_compute+='_p9k_worker_invoke battery _p9k_prompt_battery_compute'
return
else
typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='${:-}'
fi
fi
if [[ $_p9k_os != (Linux|Android) ||
-z /sys/class/power_supply/(CMB*|BAT*|*battery)/(energy_full|charge_full|charge_counter)(#qN) ]]; then
typeset -g "_p9k__segment_cond_${_p9k__prompt_side}[_p9k__segment_index]"='${:-}'
@ -1456,6 +1466,54 @@ _p9k_prompt_battery_set_args() {
fi
;;
Windows)
local raw_data
local -a info_values
# See definitions to Win32_Battery class members at https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-battery
{
read -r 2>/dev/null
read -r raw_data
} <<< "$(wmic path Win32_Battery get BatteryStatus,EstimatedChargeRemaining,EstimatedRunTime)"
# info_values[1]: BatteryStatus
# info_values[2]: EstimatedChargeRemaining
# info_values[3]: EstimatedRunTime
info_values=(${(s: :)raw_data})
(( ${#info_values[@]} == 4 )) || return # Missing info_values (index [4] is for the following CRCR)
bat_percent=${info_values[2]}
local -i bat_remain_minutes=${info_values[3]}
case ${info_values[1]} in
'1'|'4'|'5')
# When the battery is charging or full, system will show that bat_remain_minutes (EstimatedRunTime) is 71582788 (min)
(( bat_remain_minutes < 71582788 )) && remain=$((bat_remain_minutes/60)):${(l#2##0#)$((bat_remain_minutes%60))} || remain=''
if (( bat_percent < _POWERLEVEL9K_BATTERY_LOW_THRESHOLD )); then
state=LOW
else
state=DISCONNECTED
fi
;;
'2'|'6'|'7'|'8'|'9'|'11') # In this case, the battery is likely to be charged and disconnected, or still been charging.
remain=''
if (( bat_percent == 100 )); then
state=CHARGED
else
state=CHARGING
fi
;;
'3')
(( bat_remain_minutes < 71582788 )) && remain=$((bat_remain_minutes/60)):${(l#2##0#)$((bat_remain_minutes%60))} || remain=''
state=CHARGED
;;
*)
state=CHARGED
remain=''
;;
esac
;;
*)
return 0
;;