[Feature] Provides ability to disable weather fetching and display

Personally, displying the weather doesn't have a lot of use for me
but additionally I ran into an issue where the API you are using
ratelimited call from my IP address, I guess because it was
overfetching.

This doesn't fix the ratelimited issue, but instead at least gives
people the ability to turn the feature off.

Test Plan:

In `~/.tmux.conf` set the following:

```
set -g @plugin 'tmux-plugins/tpm'
set -g @dracula-show-weather false
set -g @plugin 'camspiers/tmux'
run -b '~/.local/share/tmux/plugins/tpm/tpm'
```

Ensure that weather module no longer loads.

In `~/.tmux.conf` set the following:

```
set -g @plugin 'tmux-plugins/tpm'
set -g @dracula-show-weather true
set -g @plugin 'camspiers/tmux'
run -b '~/.local/share/tmux/plugins/tpm/tpm'
```

Ensure that weather module does stil load.
This commit is contained in:
Cam Spiers 2020-04-10 13:29:29 +12:00
parent db1208837a
commit 01f6825ee0
2 changed files with 29 additions and 2 deletions

View file

@ -24,6 +24,17 @@ All instructions can be found at [draculatheme.com/tmux](https://draculatheme.co
Compatible with macOS and Linux. Tested on tmux 3.0a Compatible with macOS and Linux. Tested on tmux 3.0a
## Options
### `@dracula-show-weather`
The weather module can be disabled by adding the following line to your
`~/.tmux.conf`:
```
set -g @dracula-show-weather false
```
## Team ## Team
This theme is maintained by the following person(s) and a bunch of [awesome contributors](https://github.com/dracula/tmux/graphs/contributors). This theme is maintained by the following person(s) and a bunch of [awesome contributors](https://github.com/dracula/tmux/graphs/contributors).

View file

@ -3,10 +3,22 @@
# a tmux color scheme inspired by dracula # a tmux color scheme inspired by dracula
# author: Dane Williams # author: Dane Williams
get_tmux_option() {
local option=$1
local default_value=$2
local option_value=$(tmux show-option -gqv "$option")
if [ -z $option_value ]; then
echo $default_value
else
echo $option_value
fi
}
main() main()
{ {
# set current directory variable # set current directory variable
current_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" current_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
show_weather=$(get_tmux_option "@dracula-show-weather" true)
# Dracula Color Pallette # Dracula Color Pallette
white='#f8f8f2' white='#f8f8f2'
@ -22,7 +34,9 @@ main()
yellow='#f1fa8c' yellow='#f1fa8c'
# start weather script in background # start weather script in background
if $show_weather; then
$current_dir/sleep_weather.sh & $current_dir/sleep_weather.sh &
fi
# set refresh interval # set refresh interval
tmux set-option -g status-interval 5 tmux set-option -g status-interval 5
@ -48,7 +62,9 @@ main()
tmux set-option -g status-right "#[fg=${dark_gray},bg=${pink}] #($current_dir/battery.sh) " tmux set-option -g status-right "#[fg=${dark_gray},bg=${pink}] #($current_dir/battery.sh) "
tmux set-option -ga status-right "#[fg=${dark_gray},bg=${cyan}]#($current_dir/network.sh) " tmux set-option -ga status-right "#[fg=${dark_gray},bg=${cyan}]#($current_dir/network.sh) "
if $show_weather; then
tmux set-option -ga status-right "#[fg=${dark_gray},bg=${orange}] #(cat $current_dir/../data/weather.txt) " tmux set-option -ga status-right "#[fg=${dark_gray},bg=${orange}] #(cat $current_dir/../data/weather.txt) "
fi
tmux set-option -ga status-right "#[fg=${white},bg=${dark_purple}] %a %m/%d %I:%M %p #(date +%Z) " tmux set-option -ga status-right "#[fg=${white},bg=${dark_purple}] %a %m/%d %I:%M %p #(date +%Z) "
# window tabs # window tabs