Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add options to add extra styles to status line #104

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ By default, the following colors and icons are used. (The exact colors displayed

Please be aware that the 'level of charge' as noted below (e.g. `[80%-95%)`) uses interval notation. If you are unfamiliar with it, <a href="https://en.wikipedia.org/wiki/Bracket_(mathematics)#Intervals">check it out here</a>.

Also, a note about the `@batt_color_...` options: `@batt_color_..._primary_...` options are what will be displayed in the main `bg` or `fg` format strings you choose - e.g. if you use `#{battery_color_bg}`, the `@batt_color_..._primary_...` colors you choose will be the background. Likewise, the corresponding `@batt_color_..._secondary_...` color will be the foreground.
Also, a note about the `@batt_color_...` options: `@batt_color_..._primary_...` options are what will be displayed in the main `bg` or `fg` format strings you choose - e.g. if you use `#{battery_color_bg}`, the `@batt_color_..._primary_...` colors you choose will be the background. Likewise, the corresponding `@batt_color_..._secondary_...` color will be the foreground. There are also options to set extra tmux styling beside colors, `blink` for example (see STYLE in `man tmux` for details), which have prefix `batt_extra_style_status_*`.

Level of Charge Colors:

Expand Down Expand Up @@ -144,6 +144,23 @@ Status Icons:
- attached (`@batt_icon_status_attached`): '⚠️'
- unknown (`@batt_icon_status_unknown`): '?'

Extra styles:

- tier 8 \[95%-100%] (`@batt_extra_style_charge_tier8`): ''
- tier 7 \[80%-95%) (`@batt_extra_style_charge_tier7`): ''
- tier 6 \[65%-80%) (`@batt_extra_style_charge_tier6`): ''
- tier 5 \[50%-65%) (`@batt_extra_style_charge_tier5`): ''
- tier 4 \[35%-50%) (`@batt_extra_style_charge_tier4`): ''
- tier 3 \[20%-35%) (`@batt_extra_style_charge_tier3`): ''
- tier 2 (5%-20%) (`@batt_extra_style_charge_tier2`): ''
- tier 1 \[0%-5%] (`@batt_extra_style_charge_tier1`): ''
- charged (`@batt_extra_style_status_charged`): ''
- charging (`@batt_extra_style_status_charging`): ''
- discharging (`@batt_extra_style_status_discharging`): ''
- attached (`@batt_extra_style_status_attached`): ''
- unknown (`@batt_extra_style_status_unknown`): ''


#### Changing the Defaults

All efforts have been made to make sane defaults, but if you wish to change any of them, add the option to `.tmux.conf`. For example:
Expand Down
33 changes: 25 additions & 8 deletions scripts/battery_color_charge.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,15 @@ color_charge_secondary_tier3=''
color_charge_secondary_tier2=''
color_charge_secondary_tier1=''

extra_style_charge_tier8=''
extra_style_charge_tier7=''
extra_style_charge_tier6=''
extra_style_charge_tier5=''
extra_style_charge_tier4=''
extra_style_charge_tier3=''
extra_style_charge_tier2=''
extra_style_charge_tier1=''

# script default variables
color_charge_primary_tier8_default='#00ff00'
color_charge_primary_tier7_default='#55ff00'
Expand Down Expand Up @@ -58,6 +67,14 @@ get_color_charge_settings() {
color_charge_secondary_tier3=$(get_tmux_option "@batt_color_charge_secondary_tier3" "$color_charge_secondary_tier3_default")
color_charge_secondary_tier2=$(get_tmux_option "@batt_color_charge_secondary_tier2" "$color_charge_secondary_tier2_default")
color_charge_secondary_tier1=$(get_tmux_option "@batt_color_charge_secondary_tier1" "$color_charge_secondary_tier1_default")
extra_style_charge_tier8=$(get_tmux_option "@batt_extra_style_charge_tier8" "")
extra_style_charge_tier7=$(get_tmux_option "@batt_extra_style_charge_tier7" "")
extra_style_charge_tier6=$(get_tmux_option "@batt_extra_style_charge_tier6" "")
extra_style_charge_tier5=$(get_tmux_option "@batt_extra_style_charge_tier5" "")
extra_style_charge_tier4=$(get_tmux_option "@batt_extra_style_charge_tier4" "")
extra_style_charge_tier3=$(get_tmux_option "@batt_extra_style_charge_tier3" "")
extra_style_charge_tier2=$(get_tmux_option "@batt_extra_style_charge_tier2" "")
extra_style_charge_tier1=$(get_tmux_option "@batt_extra_style_charge_tier1" "")
}

print_color_charge() {
Expand All @@ -71,21 +88,21 @@ print_color_charge() {
percentage=$($CURRENT_DIR/battery_percentage.sh | sed -e 's/%//')
if [ $percentage -ge 95 -o "$percentage" == "" ]; then
# if percentage is empty, assume it's a desktop
printf "#[$primary_plane=$color_charge_primary_tier8${color_charge_secondary_tier8:+",$secondary_plane=$color_charge_secondary_tier8"}]"
printf "#[$primary_plane=$color_charge_primary_tier8${color_charge_secondary_tier8:+",$secondary_plane=$color_charge_secondary_tier8"},$extra_style_charge_tier8]"
elif [ $percentage -ge 80 ]; then
printf "#[$primary_plane=$color_charge_primary_tier7${color_charge_secondary_tier7:+",$secondary_plane=$color_charge_secondary_tier7"}]"
printf "#[$primary_plane=$color_charge_primary_tier7${color_charge_secondary_tier7:+",$secondary_plane=$color_charge_secondary_tier7"},$extra_style_charge_tier7]"
elif [ $percentage -ge 65 ]; then
printf "#[$primary_plane=$color_charge_primary_tier6${color_charge_secondary_tier6:+",$secondary_plane=$color_charge_secondary_tier6"}]"
printf "#[$primary_plane=$color_charge_primary_tier6${color_charge_secondary_tier6:+",$secondary_plane=$color_charge_secondary_tier6"},$extra_style_charge_tier6]"
elif [ $percentage -ge 50 ]; then
printf "#[$primary_plane=$color_charge_primary_tier5${color_charge_secondary_tier5:+",$secondary_plane=$color_charge_secondary_tier5"}]"
printf "#[$primary_plane=$color_charge_primary_tier5${color_charge_secondary_tier5:+",$secondary_plane=$color_charge_secondary_tier5"},$extra_style_charge_tier5]"
elif [ $percentage -ge 35 ]; then
printf "#[$primary_plane=$color_charge_primary_tier4${color_charge_secondary_tier4:+",$secondary_plane=$color_charge_secondary_tier4"}]"
printf "#[$primary_plane=$color_charge_primary_tier4${color_charge_secondary_tier4:+",$secondary_plane=$color_charge_secondary_tier4"},$extra_style_charge_tier4]"
elif [ $percentage -ge 20 ]; then
printf "#[$primary_plane=$color_charge_primary_tier3${color_charge_secondary_tier3:+",$secondary_plane=$color_charge_secondary_tier3"}]"
printf "#[$primary_plane=$color_charge_primary_tier3${color_charge_secondary_tier3:+",$secondary_plane=$color_charge_secondary_tier3"},$extra_style_charge_tier3]"
elif [ $percentage -gt 5 ]; then
printf "#[$primary_plane=$color_charge_primary_tier2${color_charge_secondary_tier2:+",$secondary_plane=$color_charge_secondary_tier2"}]"
printf "#[$primary_plane=$color_charge_primary_tier2${color_charge_secondary_tier2:+",$secondary_plane=$color_charge_secondary_tier2"},$extra_style_charge_tier2]"
else
printf "#[$primary_plane=$color_charge_primary_tier1${color_charge_secondary_tier1:+",$secondary_plane=$color_charge_secondary_tier1"}]"
printf "#[$primary_plane=$color_charge_primary_tier1${color_charge_secondary_tier1:+",$secondary_plane=$color_charge_secondary_tier1"},$extra_style_charge_tier1]"
fi
}

Expand Down
22 changes: 17 additions & 5 deletions scripts/battery_color_status.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@ color_status_secondary_discharging_default='colour0'
color_status_secondary_attached_default='colour0'
color_status_secondary_unknown_default='colour0'

extra_style_status_charged=''
extra_style_status_charging=''
extra_style_status_discharging=''
extra_style_status_attached=''
extra_style_status_unknown=''

# colors are set as script global variables
get_color_status_settings() {
color_status_primary_charged=$(get_tmux_option "@batt_color_status_primary_charged" "$color_status_primary_charged_default")
Expand All @@ -40,6 +46,12 @@ get_color_status_settings() {
color_status_secondary_discharging=$(get_tmux_option "@batt_color_status_secondary_discharging" "$color_status_secondary_discharging_default")
color_status_secondary_attached=$(get_tmux_option "@batt_color_status_secondary_attached" "$color_status_secondary_attached_default")
color_status_secondary_unknown=$(get_tmux_option "@batt_color_status_secondary_unknown" "$color_status_secondary_unknown_default")

extra_style_status_charged=$(get_tmux_option "@batt_extra_style_status_charged" "")
extra_style_status_charging=$(get_tmux_option "@batt_extra_style_status_charging" "")
extra_style_status_discharging=$(get_tmux_option "@batt_extra_style_status_discharging" "")
extra_style_status_attached=$(get_tmux_option "@batt_extra_style_status_attached" "")
extra_style_status_unknown=$(get_tmux_option "@batt_extra_style_status_unknown" "")
}

print_color_status() {
Expand All @@ -52,15 +64,15 @@ print_color_status() {
fi
local status="$2"
if [[ $status =~ (charged) || $status =~ (full) ]]; then
printf "#[$plane_primary=$color_status_primary_charged${color_status_secondary_charged:+",$plane_secondary=$color_status_secondary_charged"}]"
printf "#[$plane_primary=$color_status_primary_charged${color_status_secondary_charged:+",$plane_secondary=$color_status_secondary_charged",$extra_style_status_charged}]"
elif [[ $status =~ (^charging) ]]; then
printf "#[$plane_primary=$color_status_primary_charging${color_status_secondary_charging:+",$plane_secondary=$color_status_secondary_charging"}]"
printf "#[$plane_primary=$color_status_primary_charging${color_status_secondary_charging:+",$plane_secondary=$color_status_secondary_charging",$extra_style_status_charging}]"
elif [[ $status =~ (^discharging) ]]; then
printf "#[$plane_primary=$color_status_primary_discharging${color_status_secondary_discharging:+",$plane_secondary=$color_status_secondary_discharging"}]"
printf "#[$plane_primary=$color_status_primary_discharging${color_status_secondary_discharging:+",$plane_secondary=$color_status_secondary_discharging"},$extra_style_status_discharging]"
elif [[ $status =~ (attached) ]]; then
printf "#[$plane_primary=$color_status_primary_attached${color_status_secondary_attached:+",$plane_secondary=$color_status_secondary_attached"}]"
printf "#[$plane_primary=$color_status_primary_attached${color_status_secondary_attached:+",$plane_secondary=$color_status_secondary_attached"},$extra_style_status_attached]"
else
printf "#[$plane_primary=$color_status_primary_unknown${color_status_secondary_unknown:+",$plane_secondary=$color_status_secondary_unknown"}]"
printf "#[$plane_primary=$color_status_primary_unknown${color_status_secondary_unknown:+",$plane_secondary=$color_status_secondary_unknown"},$extra_style_status_unknown]"
fi
}

Expand Down