mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2025-12-26 02:12:33 +01:00
Added battery charge gauge from: http://stevelosh.com/blog/2010/02/my-extravagant-zsh-prompt/ to themes
Battery gauge requires a python script, 'battcharge.py' added to $ZSH/lib/ directory to work properly. Cleaned up zshmarks again, now uses proper return codes in case bookmark not found, etc.
This commit is contained in:
parent
2dc12882af
commit
59e2f43237
5 changed files with 78 additions and 16 deletions
38
lib/battcharge.py
Executable file
38
lib/battcharge.py
Executable file
|
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/env python
|
||||
# coding=UTF-8
|
||||
|
||||
import math, subprocess
|
||||
|
||||
p = subprocess.Popen(["ioreg", "-rc", "AppleSmartBattery"], stdout=subprocess.PIPE)
|
||||
output = p.communicate()[0]
|
||||
|
||||
o_max = [l for l in output.splitlines() if 'MaxCapacity' in l][0]
|
||||
o_cur = [l for l in output.splitlines() if 'CurrentCapacity' in l][0]
|
||||
|
||||
b_max = float(o_max.rpartition('=')[-1].strip())
|
||||
b_cur = float(o_cur.rpartition('=')[-1].strip())
|
||||
|
||||
charge = b_cur / b_max
|
||||
charge_threshold = int(math.ceil(10 * charge))
|
||||
|
||||
# Output
|
||||
|
||||
total_slots, slots = 10, []
|
||||
filled = int(math.ceil(charge_threshold * (total_slots / 10.0))) * u'▸'
|
||||
empty = (total_slots - len(filled)) * u'▹'
|
||||
|
||||
out = (filled + empty).encode('utf-8')
|
||||
import sys
|
||||
|
||||
color_green = '%{[1;32m%}'
|
||||
color_yellow = '%{[1;33m%}'
|
||||
color_red = '%{[1;31m%}'
|
||||
color_reset = '%{[00m%}'
|
||||
color_out = (
|
||||
color_green if len(filled) > 6
|
||||
else color_yellow if len(filled) > 4
|
||||
else color_red
|
||||
)
|
||||
|
||||
out = color_out + out + color_reset
|
||||
sys.stdout.write(out)
|
||||
Loading…
Add table
Add a link
Reference in a new issue