Skip to content

Commit

Permalink
v1.5 (#65)
Browse files Browse the repository at this point in the history
Co-authored-by: aminnairi <18418459+aminnairi@users.noreply.github.com>
Co-authored-by: StealthCT <dpreid@gmail.com>
Co-authored-by: mxaddict <mxaddict@codedmaster.com>
Co-authored-by: tribhuwan <118052427+tribhuwan-kumar@users.noreply.github.com>
  • Loading branch information
5 people authored Apr 13, 2024
1 parent d3d484e commit 6fe88ac
Show file tree
Hide file tree
Showing 8 changed files with 169 additions and 42 deletions.
11 changes: 6 additions & 5 deletions src/battery-widget.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
# check if not enabled
SHOW_BATTERY_WIDGET=$(tmux show-option -gv @tokyo-night-tmux_show_battery_widget 2>/dev/null)
if [ "${SHOW_BATTERY_WIDGET}" != "1" ]; then
exit 0
exit 0
fi

# get value from tmux config
BATTERY_NAME=$(tmux show-option -gv @tokyo-night-tmux_battery_name 2>/dev/null) # default 'BAT1'
BATTERY_NAME=$(tmux show-option -gv @tokyo-night-tmux_battery_name 2>/dev/null) # default 'BAT1'
BATTERY_LOW=$(tmux show-option -gv @tokyo-night-tmux_battery_low_threshold 2>/dev/null) # default 21
RESET="#[fg=brightwhite,bg=#15161e,nobold,noitalics,nounderscore,nodim]"

Expand Down Expand Up @@ -49,10 +49,11 @@ case "${BATTERY_STATUS}" in
ICONS="${NOT_CHARGING_ICON}"
;;
"Full" | "charged")
ICONS="${NOT_CHARGING_ICON}"
ICONS="${NOT_CHARGING_ICON}"
;;
*) ICONS="${NO_BATTERY_ICON}"
BATTERY_PERCENTAGE="0"
*)
ICONS="${NO_BATTERY_ICON}"
BATTERY_PERCENTAGE="0"
;;
esac

Expand Down
5 changes: 4 additions & 1 deletion src/datetime-widget.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ if [[ $SHOW_DATETIME == "0" ]]; then
exit 0
fi

CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source $CURRENT_DIR/themes.sh

# Assign values based on user config
date_format=$(tmux show-option -gv @tokyo-night-tmux_date_format 2>/dev/null)
time_format=$(tmux show-option -gv @tokyo-night-tmux_time_format 2>/dev/null)
Expand Down Expand Up @@ -35,4 +38,4 @@ else
time_string="%H:%M"
fi

echo "#[fg=#a9b1d6,bg=#24283B] $date_string #[]❬ $time_string "
echo "$RESET#[fg=${THEME[foreground]},bg=${THEME[bblack]}] $date_string #[]❬ $time_string "
16 changes: 12 additions & 4 deletions src/git-status.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
#!/usr/bin/env bash

SHOW_NETSPEED=$(tmux show-option -gv @tokyo-night-tmux_show_git)
if [ "$SHOW_NETSPEED" == "0" ]; then
exit 0
fi

CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source $CURRENT_DIR/themes.sh

cd $1
RESET="#[fg=brightwhite,bg=#15161e,nobold,noitalics,nounderscore,nodim]"
RESET="#[fg=${THEME[foreground]},bg=${THEME[background]},nobold,noitalics,nounderscore,nodim]"
BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
STATUS=$(git status --porcelain 2>/dev/null | egrep "^(M| M)" | wc -l)
BRANCH_SIZE=${#BRANCH}
Expand Down Expand Up @@ -30,15 +38,15 @@ fi
STATUS_UNTRACKED="$(git ls-files --other --directory --exclude-standard | wc -l | bc)"

if [[ $CHANGED_COUNT > 0 ]]; then
STATUS_CHANGED="#[fg=#e0af68,bg=#15161e,bold] ${CHANGED_COUNT} "
STATUS_CHANGED="#[fg=${THEME[yellow]},bg=${THEME[background]},bold] ${CHANGED_COUNT} "
fi

if [[ $INSERTIONS_COUNT > 0 ]]; then
STATUS_INSERTIONS="#[fg=#73daca,bg=#15161e,bold] ${INSERTIONS_COUNT} "
STATUS_INSERTIONS="#[fg=${THEME[green]},bg=${THEME[background]},bold] ${INSERTIONS_COUNT} "
fi

if [[ $DELETIONS_COUNT > 0 ]]; then
STATUS_DELETIONS="#[fg=#f7768e,bg=#15161e,bold] ${DELETIONS_COUNT} "
STATUS_DELETIONS="#[fg=${THEME[red]},bg=${THEME[background]},bold] ${DELETIONS_COUNT} "
fi

if [[ $STATUS_UNTRACKED > 0 ]]; then
Expand Down
24 changes: 14 additions & 10 deletions src/music-tmux-statusbar.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,24 @@

# Check the global value
SHOW_MUSIC=$(tmux show-option -gv @tokyo-night-tmux_show_music)

if [ "$SHOW_MUSIC" != "1" ]; then
exit 0
fi

CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source $CURRENT_DIR/themes.sh

# Value parser for nowplaying-cli
parse_npcli_value() {
echo "$NPCLI_STATUS" | grep "$1" | awk -F '= ' '{print $2}' | tr -d '";'
}

ACCENT_COLOR="#7aa2f7"
SECONDARY_COLOR="#24283B"
BG_COLOR="#1F2335"
BG_BAR="#15161e"
TIME_COLOR="#414868"
ACCENT_COLOR="${THEME[blue]}"
SECONDARY_COLOR="${THEME[background]}"
BG_COLOR="${THEME[background]}"
BG_BAR="${THEME[background]}"
TIME_COLOR="${THEME[black]}"

if [[ $1 =~ ^[[:digit:]]+$ ]]; then
MAX_TITLE_WIDTH=$1
Expand Down Expand Up @@ -96,9 +100,9 @@ else
fi
if [ -n "$TITLE" ]; then
if [ "$STATUS" = "playing" ]; then
PLAY_STATE="$OUTPUT"
PLAY_STATE="$OUTPUT"
else
PLAY_STATE="󰏤$OUTPUT"
PLAY_STATE="󰏤$OUTPUT"
fi
OUTPUT="$PLAY_STATE $TITLE"

Expand All @@ -120,13 +124,13 @@ fi
if [ -z "$OUTPUT" ]; then
echo "$OUTPUT #[fg=green,bg=default]"
else
OUT=" $OUTPUT $TIME "
ONLY_OUT=" $OUTPUT "
OUT="$OUTPUT $TIME "
ONLY_OUT="$OUTPUT "
TIME_INDEX=${#ONLY_OUT}
OUTPUT_LENGTH=${#OUT}
PERCENT=$((POSITION * 100 / DURATION))
PROGRESS=$((OUTPUT_LENGTH * PERCENT / 100))
O=" $OUTPUT"
O="$OUTPUT"

if [ $PROGRESS -le $TIME_INDEX ]; then
echo "#[nobold,fg=$BG_COLOR,bg=$ACCENT_COLOR]${O:0:PROGRESS}#[fg=$ACCENT_COLOR,bg=$BG_BAR]${O:PROGRESS:TIME_INDEX} #[fg=$TIME_COLOR,bg=$BG_BAR]$TIME "
Expand Down
12 changes: 11 additions & 1 deletion src/netspeed.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ if [ "$SHOW_NETSPEED" != "1" ]; then
exit 0
fi

CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source $CURRENT_DIR/themes.sh

# Get network interface
INTERFACE=$(tmux show-option -gv @tokyo-night-tmux_netspeed_iface 2>/dev/null)

Expand Down Expand Up @@ -48,4 +51,11 @@ TIME_DIFF=1
RX_SPEED=$(readable_format "$((RX_DIFF / TIME_DIFF))")
TX_SPEED=$(readable_format "$((TX_DIFF / TIME_DIFF))")

echo "$RX_SPEED$TX_SPEED "
NETWORK_ICON="󰈀"

# TODO: Use a more sophisticated method to detect iface type (wifi, ethernet, etc)
if [ ${INTERFACE:0:1} == "w" ]; then
NETWORK_ICON=""
fi

echo "${RESET}░ #[fg=${THEME[bgreen]}]󰛴${RESET} $RX_SPEED #[fg=${THEME[bblue]}]󰛶${RESET} $TX_SPEED ${NETWORK_ICON} #[dim]$INTERFACE "
86 changes: 86 additions & 0 deletions src/themes.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
#!/usr/bin/env bash

SELECTED_THEME="$(tmux show-option -gv @tokyo-night-tmux_theme)"

case $SELECTED_THEME in
"storm")
declare -A THEME=(
["background"]="#24283b"
["foreground"]="#a9b1d6"
["black"]="#414868"
["blue"]="#7aa2f7"
["cyan"]="#7dcfff"
["green"]="#73daca"
["magenta"]="#bb9af7"
["red"]="#f7768e"
["white"]="#a9b1d6"
["yellow"]="#e0af68"

["bblack"]="#414868"
["bblue"]="#7aa2f7"
["bcyan"]="#7dcfff"
["bgreen"]="#41a6b5"
["bmagenta"]="#bb9af7"
["bred"]="#f7768e"
["bwhite"]="#787c99"
["byellow"]="#e0af68"
)
;;

"day")
declare -A THEME=(
["background"]="#d5d6db"
["foreground"]="#343b58"
["black"]="#0f0f14"
["blue"]="#34548a"
["cyan"]="#0f4b6e"
["green"]="#33635c"
["magenta"]="#5a4a78"
["red"]="#8c4351"
["white"]="#343b58"
["yellow"]="#8f5e15"

["bblack"]="#9699a3"
["bblue"]="#34548a"
["bcyan"]="#0f4b6e"
["bgreen"]="#33635c"
["bmagenta"]="#5a4a78"
["bred"]="#8c4351"
["bwhite"]="#343b58"
["byellow"]="#8f5815"
)
;;

\
*)
# Default to night theme
declare -A THEME=(
["background"]="#1A1B26"
["foreground"]="#a9b1d6"
["black"]="#414868"
["blue"]="#7aa2f7"
["cyan"]="#7dcfff"
["green"]="#73daca"
["magenta"]="#bb9af7"
["red"]="#f7768e"
["white"]="#c0caf5"
["yellow"]="#e0af68"

["bblack"]="#2A2F41"
["bblue"]="#7aa2f7"
["bcyan"]="#7dcfff"
["bgreen"]="#41a6b5"
["bmagenta"]="#bb9af7"
["bred"]="#ff9e64"
["bwhite"]="#787c99"
["byellow"]="#e0af68"
)
;;
esac

THEME['ghgreen']="#3fb950"
THEME['ghmagenta']="#A371F7"
THEME['ghred']="#d73a4a"
THEME['ghyellow']="#d29922"

RESET="#[fg=${THEME[foreground]},bg=${THEME[background]},nobold,noitalics,nounderscore,nodim]"
31 changes: 22 additions & 9 deletions src/wb-git-status.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
#!/usr/bin/env bash
SHOW_WIDGET=$(tmux show-option -gv @tokyo-night-tmux_show_wbg)
if [ "$SHOW_WIDGET" == "0" ]; then
exit 0
fi

CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source $CURRENT_DIR/themes.sh

cd $1
RESET="#[fg=brightwhite,bg=#15161e,nobold,noitalics,nounderscore,nodim,nostrikethrough]"
BRANCH=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
PROVIDER=$(git config remote.origin.url | awk -F '@|:' '{print $2}')
STATUS=$(git status --porcelain 2>/dev/null | egrep "^(M| M)" | wc -l)
Expand All @@ -11,24 +17,27 @@ PROVIDER_ICON=""
PR_COUNT=0
REVIEW_COUNT=0
ISSUE_COUNT=0
REMOTE_DIFF=0
BUG_COUNT=0

PR_STATUS=""
REVIEW_STATUS=""
ISSUE_STATUS=""
REMOTE_STATUS=""
BUG_STATUS=""

if [[ $PROVIDER == "github.com" ]]; then

if ! command -v gh &>/dev/null; then
exit 1
fi

PROVIDER_ICON="$RESET#[fg=#fafafa] "
PROVIDER_ICON="$RESET#[fg=${THEME[foreground]}] "
if test "$BRANCH" != ""; then
PR_COUNT=$(gh pr list --json number --jq 'length' | bc)
REVIEW_COUNT=$(gh pr status --json reviewRequests --jq '.needsReview | length' | bc)
ISSUE_COUNT=$(gh issue status --json assignees --jq '.assigned | length' | bc)
RES=$(gh issue list --json "assignees,labels" --assignee @me)
ISSUE_COUNT=$(echo $RES | jq 'length' | bc)
BUG_COUNT=$(echo $RES | jq 'map(select(.labels[].name == "bug")) | length' | bc)
ISSUE_COUNT=$((ISSUE_COUNT - BUG_COUNT))
else
exit 0
fi
Expand All @@ -44,19 +53,23 @@ else
fi

if [[ $PR_COUNT > 0 ]]; then
PR_STATUS="#[fg=#3fb950,bg=#15161e,bold] ${RESET}${PR_COUNT} "
PR_STATUS="#[fg=${THEME[ghgreen]},bg=${THEME[background]},bold] ${RESET}${PR_COUNT} "
fi

if [[ $REVIEW_COUNT > 0 ]]; then
REVIEW_STATUS="#[fg=#d29922,bg=#15161e,bold] ${RESET}${REVIEW_COUNT} "
REVIEW_STATUS="#[fg=${THEME[ghyellow]},bg=${THEME[background]},bold] ${RESET}${REVIEW_COUNT} "
fi

if [[ $ISSUE_COUNT > 0 ]]; then
ISSUE_STATUS="#[fg=#3fb950,bg=#15161e,bold] ${RESET}${ISSUE_COUNT} "
ISSUE_STATUS="#[fg=${THEME[ghgreen]},bg=${THEME[background]},bold] ${RESET}${ISSUE_COUNT} "
fi

if [[ $BUG_COUNT > 0 ]]; then
BUG_STATUS="#[fg=${THEME[ghred]},bg=${THEME[background]},bold] ${RESET}${BUG_COUNT} "
fi

if [[ $PR_COUNT > 0 || $REVIEW_COUNT > 0 || $ISSUE_COUNT > 0 ]]; then
WB_STATUS="#[fg=#464646,bg=#15161e,bold] $RESET$PROVIDER_ICON $RESET$PR_STATUS$REVIEW_STATUS$ISSUE_STATUS"
WB_STATUS="#[fg=${THEME[black]},bg=${THEME[background]},bold] $RESET$PROVIDER_ICON $RESET$PR_STATUS$REVIEW_STATUS$ISSUE_STATUS$BUG_STATUS"
fi

echo "$WB_STATUS"
Expand Down
26 changes: 14 additions & 12 deletions tokyo-night.tmux
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,28 @@
# email hi@logico.com.ar +
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

RESET="#[fg=brightwhite,bg=#15161e,nobold,noitalics,nounderscore,nodim]"
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SCRIPTS_PATH="$CURRENT_DIR/src"

source $SCRIPTS_PATH/themes.sh

tmux set -g status-left-length 80
tmux set -g status-right-length 150

RESET="#[fg=${THEME[foreground]},bg=${THEME[background]},nobold,noitalics,nounderscore,nodim]"
# Highlight colors
tmux set -g mode-style "fg=#a9b1d6,bg=#2A2F41"
tmux set -g mode-style "fg=${THEME[bgreen]},bg=${THEME[bblack]}"

tmux set -g message-style "bg=#7aa2f7,fg=#2A2F41"
tmux set -g message-command-style "fg=#c0caf5,bg=#2A2F41"
tmux set -g message-style "bg=${THEME[blue]},fg=${THEME[background]}"
tmux set -g message-command-style "fg=${THEME[white]},bg=${THEME[black]}"

tmux set -g pane-border-style "fg=#2A2F41"
tmux set -g pane-active-border-style "fg=#7aa2f7"
tmux set -g pane-border-style "fg=${THEME[bblack]}"
tmux set -g pane-active-border-style "fg=${THEME[blue]}"
tmux set -g pane-border-status off

tmux set -g status-style bg="#1A1B26"
tmux set -g status-style bg="${THEME[background]}"

SCRIPTS_PATH="$CURRENT_DIR/src"
TMUX_VARS="$(tmux show -g)"
PANE_BASE="$(echo "$TMUX_VARS" | grep pane-base-index | cut -d" " -f2 | bc)"

default_window_id_style="digital"
default_pane_id_style="hsquare"
Expand All @@ -52,13 +54,13 @@ battery_status="#($SCRIPTS_PATH/battery-widget.sh)"

#+--- Bars LEFT ---+
# Session name
tmux set -g status-left "#[fg=#1F2335,bg=#2D96FA,bold] #{?client_prefix,󰠠 ,#[dim]󰤂 }#[bold,nodim]#S "
tmux set -g status-left "#[fg=${THEME[bblack]},bg=${THEME[blue]},bold] #{?client_prefix,󰠠 ,#[dim]󰤂 }#[bold,nodim]#S "

#+--- Windows ---+
# Focus
tmux set -g window-status-current-format "$RESET#[fg=#44dfaf,bg=#1F2335]  $window_number #[fg=#a9b1d6,bold,nodim]#W#[nobold,dim]#{?window_zoomed_flag, $zoom_number, $custom_pane} #{?window_last_flag,,} "
tmux set -g window-status-current-format "$RESET#[fg=${THEME[green]},bg=${THEME[bblack]}] #{?#{==:#{pane_current_command},ssh},󰣀,} #[fg=${THEME[foreground]},bold,nodim]$window_number #W#[nobold]#{?window_zoomed_flag, $zoom_number, $custom_pane} #{?window_last_flag,,} "
# Unfocused
tmux set -g window-status-format "$RESET#[fg=#c0caf5,bg=default,none,dim]  $window_number #W#[nobold,dim]#{?window_zoomed_flag, $zoom_number, $custom_pane} #[fg=yellow]#{?window_last_flag,󰁯 , } "
tmux set -g window-status-format "$RESET#[fg=${THEME[foreground]}] #{?#{==:#{pane_current_command},ssh},󰣀,}${RESET} $window_number #W#[nobold,dim]#{?window_zoomed_flag, $zoom_number, $custom_pane} #[fg=${THEME[yellow]}]#{?window_last_flag,󰁯 , } "

#+--- Bars RIGHT ---+
tmux set -g status-right "$battery_status$current_path$cmus_status#[fg=#a9b1d6,bg=#24283B]$netspeed$git_status$wb_git_status$date_and_time"
Expand Down

0 comments on commit 6fe88ac

Please sign in to comment.