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
4 years ago
by
Avneet Singh
Committed by
Marc Cornellà
3 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(battery): add support for Android via Termux (#9752)
parent
dc83d0b7
master
No related merge requests found
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:
...
@@ -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:
Then, add the
`battery_pct_prompt`
function to your custom theme. For example:
```
```
zsh
RPROMPT
=
'$(battery_pct_prompt) ...'
RPROMPT
=
'$(battery_pct_prompt) ...'
```
```
## Requirements
## 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:
-
On Android (via
[
Termux
](
https://play.google.com/store/apps/details?id=com.termux
)
), you must have:
```
sudo apt-get install acpi
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
```
This diff is collapsed.
Click to expand it.
plugins/battery/battery.plugin.zsh
View file @
f26a1ecd
...
@@ -10,6 +10,9 @@
...
@@ -10,6 +10,9 @@
# Author: J (927589452) #
# Author: J (927589452) #
# Modified to add support for FreeBSD #
# Modified to add support for FreeBSD #
###########################################
###########################################
# Author: Avneet Singh (kalsi-avneet) #
# Modified to add support for Android #
###########################################
if
[[
"
$OSTYPE
"
=
darwin
*
]]
;
then
if
[[
"
$OSTYPE
"
=
darwin
*
]]
;
then
function
battery_is_charging
()
{
function
battery_is_charging
()
{
...
@@ -160,6 +163,46 @@ elif [[ "$OSTYPE" = linux* ]]; then
...
@@ -160,6 +163,46 @@ elif [[ "$OSTYPE" = linux* ]]; then
echo
"%{
$fg
[
$color
]%}
${
battery_pct
}
%%%{
$reset_color
%}"
echo
"%{
$fg
[
$color
]%}
${
battery_pct
}
%%%{
$reset_color
%}"
fi
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
else
# Empty functions so we don't cause errors in prompts
# Empty functions so we don't cause errors in prompts
function
battery_is_charging
{
false
}
function
battery_is_charging
{
false
}
...
...
This diff is collapsed.
Click to expand it.
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