Skip to content
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
34 changes: 33 additions & 1 deletion nord.tmux
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,20 @@ __cleanup() {
unset -v NORD_TMUX_STATUS_CONTENT_OPTION NORD_TMUX_NO_PATCHED_FONT_OPTION
unset -v NORD_TMUX_STATUS_CONTENT_DATE_FORMAT
unset -v _current_dir
unset -f __load __cleanup
unset -f __set_alert_reversed __load __cleanup
tmux set-environment -gu NORD_TMUX_STATUS_TIME_FORMAT
tmux set-environment -gu NORD_TMUX_STATUS_DATE_FORMAT
tmux set-environment -gu NORD_TMUX_WINDOW_BG
tmux set-environment -gu NORD_TMUX_TRANSITION_COLOR
}

__set_alert_reversed() {
local alert_style=$(tmux show-option -gqv "$1")
if [ -z "$alert_style" ] || [[ "$alert_style" == *"reverse"* ]]; then
tmux set-option -gq "$2" 1
else
tmux set-option -gq "$2" 0
fi
}

__load() {
Expand All @@ -28,6 +39,27 @@ __load() {
local no_patched_font=$(tmux show-option -gqv "$NORD_TMUX_NO_PATCHED_FONT_OPTION")
local date_format=$(tmux show-option -gqv "$NORD_TMUX_STATUS_CONTENT_DATE_FORMAT")

# Any of these three can be set as "reverse" which flips the fg/bg colors
__set_alert_reversed "window-status-activity-style" "@nord_tmux_activity_reversed"
__set_alert_reversed "window-status-bell-style" "@nord_tmux_bell_reversed"
__set_alert_reversed "window-status-silence-style" "@nord_tmux_silence_reversed"

# This will be "1" if there is any alert (activity, bell, or silence)
local alert_check='#{?window_activity_flag,1,#{?window_bell_flag,1,#{?window_silence_flag,1,0}}}'

# These will be "1" if their flag is "1" and they are set as "reverse"
local activity_reversed='#{?window_activity_flag,#{@nord_tmux_activity_reversed},0}'
local bell_reversed='#{?window_bell_flag,#{@nord_tmux_bell_reversed},0}'
local silence_reversed='#{?window_silence_flag,#{@nord_tmux_silence_reversed},0}'

# If any of the three styles is "reversed", this will be "1".
local alert_reversed="#{?${activity_reversed},1,#{?${bell_reversed},1,#{?${silence_reversed},1,0}}}"
local window_bg="#{?${alert_check},#{?${alert_reversed},black,brightblack},brightblack}"
local transition_color="#{?${alert_check},#{?${alert_reversed},white,black},black}"

tmux set-environment -g NORD_TMUX_WINDOW_BG "$window_bg"
tmux set-environment -g NORD_TMUX_TRANSITION_COLOR "$transition_color"

if [ "$(tmux show-option -gqv "clock-mode-style")" == '12' ]; then
tmux set-environment -g NORD_TMUX_STATUS_TIME_FORMAT "%I:%M %p"
else
Expand Down
2 changes: 1 addition & 1 deletion src/nord-status-content-no-patched-font.conf
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ set -g status-left "#[fg=black,bg=blue,bold] #S "
set -g status-right "#{prefix_highlight}#[fg=white,bg=brightblack] ${NORD_TMUX_STATUS_DATE_FORMAT} #[fg=white,bg=brightblack,nobold,noitalics,nounderscore]|#[fg=white,bg=brightblack] ${NORD_TMUX_STATUS_TIME_FORMAT} #[fg=cyan,bg=brightblack,nobold,noitalics,nounderscore] #[fg=black,bg=cyan,bold] #H "

#+--- Windows ---+
set -g window-status-format " #[fg=white,bg=brightblack]#I #[fg=white,bg=brightblack]#W #F"
set -g window-status-format " #[fg=white,bg=$NORD_TMUX_WINDOW_BG]#I #[fg=white,bg=$NORD_TMUX_WINDOW_BG]#W #F"
set -g window-status-current-format " #[fg=black,bg=cyan]#I#[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan]#W #F"
set -g window-status-separator ""
2 changes: 1 addition & 1 deletion src/nord-status-content.conf
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ set -g status-left "#[fg=black,bg=blue,bold] #S #[fg=blue,bg=black,nobold,noital
set -g status-right "#{prefix_highlight}#[fg=brightblack,bg=black,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] ${NORD_TMUX_STATUS_DATE_FORMAT} #[fg=white,bg=brightblack,nobold,noitalics,nounderscore]#[fg=white,bg=brightblack] ${NORD_TMUX_STATUS_TIME_FORMAT} #[fg=cyan,bg=brightblack,nobold,noitalics,nounderscore]#[fg=black,bg=cyan,bold] #H "

#+--- Windows ---+
set -g window-status-format "#[fg=black,bg=brightblack,nobold,noitalics,nounderscore] #[fg=white,bg=brightblack]#I #[fg=white,bg=brightblack,nobold,noitalics,nounderscore] #[fg=white,bg=brightblack]#W #F #[fg=brightblack,bg=black,nobold,noitalics,nounderscore]"
set -g window-status-format "#[fg=$NORD_TMUX_TRANSITION_COLOR,bg=$NORD_TMUX_WINDOW_BG,nobold,noitalics,nounderscore] #[fg=white,bg=$NORD_TMUX_WINDOW_BG]#I #[fg=white,bg=$NORD_TMUX_WINDOW_BG,nobold,noitalics,nounderscore] #[fg=white,bg=$NORD_TMUX_WINDOW_BG]#W #F #[fg=$NORD_TMUX_WINDOW_BG,bg=$NORD_TMUX_TRANSITION_COLOR,nobold,noitalics,nounderscore]"
set -g window-status-current-format "#[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan]#I #[fg=black,bg=cyan,nobold,noitalics,nounderscore] #[fg=black,bg=cyan]#W #F #[fg=cyan,bg=black,nobold,noitalics,nounderscore]"
set -g window-status-separator ""