Add git functionality
This commit is contained in:
parent
f508a8907f
commit
6cac0951d4
4 changed files with 98 additions and 2 deletions
|
@ -45,6 +45,7 @@ programs.tmux = {
|
|||
#### Configuration
|
||||
|
||||
Customize the status bar by adding any of these lines to your .tmux.conf as desired:
|
||||
* Disable git functionality: `set -g @dracula-show-git false`
|
||||
* Disable battery functionality: `set -g @dracula-show-battery false`
|
||||
* Disable network functionality: `set -g @dracula-show-network false`
|
||||
* Disable weather functionality: `set -g @dracula-show-weather false`
|
||||
|
|
|
@ -18,6 +18,7 @@ Configuration and options can be found at [draculatheme.com/tmux](https://dracul
|
|||
* Day, date, time, timezone
|
||||
* Current location based on network with temperature and forecast icon (if available)
|
||||
* Network connection status and SSID
|
||||
* Git branch and status
|
||||
* Battery percentage and AC power connection status
|
||||
* Refresh rate control
|
||||
* CPU usage
|
||||
|
|
|
@ -20,6 +20,7 @@ main()
|
|||
|
||||
# set configuration option variables
|
||||
show_battery=$(get_tmux_option "@dracula-show-battery" true)
|
||||
show_git=$(get_tmux_option "@dracula-show-git" true)
|
||||
show_network=$(get_tmux_option "@dracula-show-network" true)
|
||||
show_weather=$(get_tmux_option "@dracula-show-weather" true)
|
||||
show_fahrenheit=$(get_tmux_option "@dracula-show-fahrenheit" true)
|
||||
|
@ -142,8 +143,13 @@ main()
|
|||
tmux set-option -g status-right ""
|
||||
powerbg=${gray}
|
||||
|
||||
if $show_git; then # git
|
||||
tmux set-option -g status-right "#[fg=${green},bg=${powerbg},nobold,nounderscore,noitalics] ${right_sep}#[fg=#($current_dir/git.sh 0 #{pane_current_path}),bg=${green}] #($current_dir/git.sh 1 #{pane_current_path})"
|
||||
powerbg=${green}
|
||||
fi
|
||||
|
||||
if $show_battery; then # battery
|
||||
tmux set-option -g status-right "#[fg=${pink},bg=${powerbg},nobold,nounderscore,noitalics] ${right_sep}#[fg=${dark_gray},bg=${pink}] #($current_dir/battery.sh)"
|
||||
tmux set-option -ga status-right "#[fg=${pink},bg=${powerbg},nobold,nounderscore,noitalics] ${right_sep}#[fg=${dark_gray},bg=${pink}] #($current_dir/battery.sh)"
|
||||
powerbg=${pink}
|
||||
fi
|
||||
|
||||
|
@ -192,8 +198,11 @@ main()
|
|||
|
||||
tmux set-option -g status-right ""
|
||||
|
||||
if $show_git; then
|
||||
tmux set-option -g status-right "#[fg=#($current_dir/git.sh 0 #{pane_current_path}),bg=${green}] #($current_dir/git.sh 1 #{pane_current_path})"
|
||||
fi
|
||||
if $show_battery; then # battery
|
||||
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=${pink}] #($current_dir/battery.sh) "
|
||||
fi
|
||||
if $show_ram_usage; then
|
||||
tmux set-option -ga status-right "#[fg=${dark_gray},bg=${cyan}] #($current_dir/ram_info.sh) "
|
||||
|
|
85
scripts/git.sh
Executable file
85
scripts/git.sh
Executable file
|
@ -0,0 +1,85 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# if option = 0 check for changes
|
||||
# if option = 1 get branch
|
||||
option=$1
|
||||
path=$2
|
||||
|
||||
# Dracula Color Pallette
|
||||
white='#f8f8f2'
|
||||
gray='#44475a'
|
||||
dark_gray='#282a36'
|
||||
light_purple='#bd93f9'
|
||||
dark_purple='#6272a4'
|
||||
cyan='#8be9fd'
|
||||
green='#50fa7b'
|
||||
orange='#ffb86c'
|
||||
red='#ff5555'
|
||||
pink='#ff79c6'
|
||||
yellow='#f1fa8c'
|
||||
|
||||
changed_color=$red
|
||||
up_to_date_color=$dark_gray
|
||||
no_git_message=''
|
||||
no_git_color=$dark_gray
|
||||
|
||||
checkForChanges()
|
||||
{
|
||||
if [ "$(checkForGitDir)" == "true" ]; then
|
||||
if [ "$(git -C $path status -s)" != "" ]; then
|
||||
echo "true"
|
||||
else
|
||||
echo "false"
|
||||
fi
|
||||
else
|
||||
echo "false"
|
||||
fi
|
||||
}
|
||||
|
||||
checkForGitDir()
|
||||
{
|
||||
if [ "$(git -C $path rev-parse --abbrev-ref HEAD)" != "" ]; then
|
||||
echo "true"
|
||||
else
|
||||
echo "false"
|
||||
fi
|
||||
}
|
||||
|
||||
assignColor()
|
||||
{
|
||||
# If there is a change set the foreground color
|
||||
if [ "$(checkForGitDir)" == "true" ]; then
|
||||
if [ "$(checkForChanges)" == "true" ]; then
|
||||
echo $changed_color
|
||||
else
|
||||
echo $up_to_date_color
|
||||
fi
|
||||
else
|
||||
echo $no_git_color
|
||||
fi
|
||||
}
|
||||
|
||||
getBranch()
|
||||
{
|
||||
# return branch name if there is one
|
||||
if [ "$(git -C $path rev-parse --abbrev-ref HEAD)" != "" ]; then
|
||||
echo "$(git -C $path rev-parse --abbrev-ref HEAD) "
|
||||
else
|
||||
echo $no_git_message
|
||||
fi
|
||||
}
|
||||
|
||||
main()
|
||||
{
|
||||
case $option in
|
||||
0)
|
||||
assignColor
|
||||
;;
|
||||
1)
|
||||
getBranch
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
#run main driver program
|
||||
main
|
Loading…
Reference in a new issue