Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
oh-my-zsh
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
github
oh-my-zsh
Commits
f26a1ecd
Unverified
Commit
f26a1ecd
authored
Mar 20, 2021
by
Avneet Singh
Committed by
Marc Cornellà
Oct 08, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(battery): add support for Android via Termux (#9752)
parent
dc83d0b7
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
56 additions
and
6 deletions
+56
-6
README.md
plugins/battery/README.md
+13
-6
battery.plugin.zsh
plugins/battery/battery.plugin.zsh
+43
-0
No files found.
plugins/battery/README.md
View file @
f26a1ecd
...
...
@@ -8,15 +8,22 @@ To use, add `battery` to the list of plugins in your `.zshrc` file:
Then, add the
`battery_pct_prompt`
function to your custom theme. For example:
```
```
zsh
RPROMPT
=
'$(battery_pct_prompt) ...'
```
## Requirements
On Linux, you must have the
`acpi`
tool installed on your operating system.
-
On Linux, you must have the
`acpi`
or
`acpitool`
commands installed on your operating system.
On Debian/Ubuntu, you can do that with
`sudo apt install acpi`
or
`sudo apt install acpitool`
.
Here's an example of how to install with apt:
```
sudo apt-get install acpi
```
-
On Android (via
[
Termux
](
https://play.google.com/store/apps/details?id=com.termux
)
), you must have:
1.
The
`Termux:API`
addon app installed:
[
Google Play
](
https://play.google.com/store/apps/details?id=com.termux.api
)
|
[
F-Droid
](
https://f-droid.org/packages/com.termux.api/
)
2.
The
`termux-api`
package installed within termux:
```sh
pkg install termux-api
```
plugins/battery/battery.plugin.zsh
View file @
f26a1ecd
...
...
@@ -10,6 +10,9 @@
# Author: J (927589452) #
# Modified to add support for FreeBSD #
###########################################
# Author: Avneet Singh (kalsi-avneet) #
# Modified to add support for Android #
###########################################
if
[[
"
$OSTYPE
"
=
darwin
*
]]
;
then
function
battery_is_charging
()
{
...
...
@@ -160,6 +163,46 @@ elif [[ "$OSTYPE" = linux* ]]; then
echo
"%{
$fg
[
$color
]%}
${
battery_pct
}
%%%{
$reset_color
%}"
fi
}
elif
[[
"
$OSTYPE
"
=
linux-android
]]
&&
((
${
+commands[termux-battery-status]
}
))
;
then
function
battery_is_charging
()
{
termux-battery-status 2>/dev/null |
command awk
'/status/ { exit ($0 ~ /DISCHARGING/) }'
}
function
battery_pct
()
{
# Sample output:
# {
# "health": "GOOD",
# "percentage": 93,
# "plugged": "UNPLUGGED",
# "status": "DISCHARGING",
# "temperature": 29.0,
# "current": 361816
# }
termux-battery-status 2>/dev/null |
command awk
'/percentage/ { gsub(/[,]/,""); print $2}'
}
function
battery_pct_remaining
()
{
if
!
battery_is_charging
;
then
battery_pct
else
echo
"External Power"
fi
}
function
battery_time_remaining
()
{
}
# Not available on android
function
battery_pct_prompt
()
{
local
battery_pct color
battery_pct
=
$(
battery_pct_remaining
)
if
battery_is_charging
;
then
echo
"∞"
else
if
[[
$battery_pct
-gt
50
]]
;
then
color
=
'green'
elif
[[
$battery_pct
-gt
20
]]
;
then
color
=
'yellow'
else
color
=
'red'
fi
echo
"%{
$fg
[
$color
]%}
${
battery_pct
}
%%%{
$reset_color
%}"
fi
}
else
# Empty functions so we don't cause errors in prompts
function
battery_is_charging
{
false
}
...
...
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