Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
e226fc04
Commit
e226fc04
authored
Dec 02, 2012
by
Sean Jones
Browse files
Added support for Mac to battery plugin
parent
e4a596c0
Changes
1
Hide whitespace changes
Inline
Side-by-side
plugins/battery/battery.plugin.zsh
View file @
e226fc04
if
[[
$(
acpi 2&>/dev/null |
grep
-c
'^Battery.*Discharging'
)
-gt
0
]]
;
then
function
battery_pct_remaining
()
{
echo
"
$(
acpi |
cut
-f2
-d
','
|
tr
-cd
'[:digit:]'
)
"
}
function
battery_time_remaining
()
{
echo
$(
acpi |
cut
-f3
-d
','
)
}
function
battery_pct_prompt
()
{
b
=
$(
battery_pct_remaining
)
if
[
$b
-gt
50
]
;
then
color
=
'green'
elif
[
$b
-gt
20
]
;
then
color
=
'yellow'
###########################################
# Battery plugin for oh-my-zsh #
# Original Author: Peter hoeg (peterhoeg) #
# Email: peter@speartail.com #
###########################################
# Author: Sean Jones (neuralsandwich) #
# Email: neuralsandwich@gmail.com #
# Modified to add support for Apple Mac #
###########################################
if
[[
$(
uname
)
-eq
"Darwin"
]]
;
then
function
battery_pct_remaining
()
{
if
[[
$(
ioreg
-rc
AppleSmartBattery |
grep
-c
'^.*"ExternalConnected"\ =\ No'
)
-eq
1
]]
;
then
typeset
-F
maxcapacity
=
$(
ioreg
-rc
"AppleSmartBattery"
|
grep
'^.*"MaxCapacity"\ =\ '
|
sed
-e
's/^.*"MaxCapacity"\ =\ //'
)
typeset
-F
currentcapacity
=
$(
ioreg
-rc
"AppleSmartBattery"
|
grep
'^.*"CurrentCapacity"\ =\ '
|
sed
-e
's/^.*CurrentCapacity"\ =\ //'
)
integer
i
=
$((
(
currentcapacity/maxcapacity
)
*
100
))
echo
$i
else
color
=
'red'
echo
"External Power"
fi
echo
"%{
$fg
[
$color
]%}[
$(
battery_pct_remaining
)
%%]%{
$reset_color
%}"
}
else
error_msg
=
'no battery'
function
battery_pct_remaining
()
{
echo
$error_msg
}
function
battery_time_remaining
()
{
echo
$error_msg
}
function
battery_pct_prompt
()
{
echo
''
}
function
battery_time_remaining
()
{
if
[[
$(
ioreg
-rc
AppleSmartBattery |
grep
-c
'^.*"ExternalConnected"\ =\ No'
)
-eq
1
]]
;
then
timeremaining
=
$(
ioreg
-rc
"AppleSmartBattery"
|
grep
'^.*"AvgTimeToEmpty"\ =\ '
|
sed
-e
's/^.*"AvgTimeToEmpty"\ =\ //'
)
echo
"~
$((
timeremaining
/
60
))
:
$((
timeremaining
%
60
))
"
else
echo
"∞"
fi
}
function
battery_pct_prompt
()
{
if
[[
$(
ioreg
-rc
AppleSmartBattery |
grep
-c
'^.*"ExternalConnected"\ =\ No'
)
-eq
1
]]
;
then
b
=
$(
battery_pct_remaining
)
if
[
$b
-gt
50
]
;
then
color
=
'green'
elif
[
$b
-gt
20
]
;
then
color
=
'yellow'
else
color
=
'red'
fi
echo
"%{
$fg
[
$color
]%}[
$(
battery_pct_remaining
)
%%]%{
$reset_color
%}"
else
echo
""
fi
}
elif
[[
$(
uname
)
-eq
"Linux"
]]
;
then
if
[[
$(
acpi 2&>/dev/null |
grep
-c
'^Battery.*Discharging'
)
-gt
0
]]
;
then
function
battery_pct_remaining
()
{
echo
"
$(
acpi |
cut
-f2
-d
','
|
tr
-cd
'[:digit:]'
)
"
}
function
battery_time_remaining
()
{
echo
$(
acpi |
cut
-f3
-d
','
)
}
function
battery_pct_prompt
()
{
b
=
$(
battery_pct_remaining
)
if
[
$b
-gt
50
]
;
then
color
=
'green'
elif
[
$b
-gt
20
]
;
then
color
=
'yellow'
else
color
=
'red'
fi
echo
"%{
$fg
[
$color
]%}[
$(
battery_pct_remaining
)
%%]%{
$reset_color
%}"
}
else
error_msg
=
'no battery'
function
battery_pct_remaining
()
{
echo
$error_msg
}
function
battery_time_remaining
()
{
echo
$error_msg
}
function
battery_pct_prompt
()
{
echo
''
}
fi
fi
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment