1313# - Copy mode: The mode when text is being copied. By default this is triggered
1414# by pressing the prefix key followed by '['; see `man tmux` for more details.
1515#
16+ # - Suspend mode: A custom mode by https://github.com/MunifTanjim/tmux-suspend/
17+ # This suspends prefix processing, allowing prefix keys to directly reach a
18+ # nested tmux.
19+ #
1620# Normal & prefix modes toggle between each other, so they occupy the same
1721# section of this segment. The other modes are independent of each other, so
1822# they each have their own part of the segment. By default, all modes are
@@ -39,6 +43,11 @@ COPY_MODE_ENABLED_DEFAULT="true"
3943COPY_MODE_TEXT_DEFAULT=" copy"
4044COPY_MODE_TEXT_COLOR_DEFAULT=" $TMUX_POWERLINE_CUR_SEGMENT_FG "
4145
46+ SUSPEND_MODE_ENABLED_DEFAULT=" true"
47+
48+ SUSPEND_MODE_TEXT_DEFAULT=" SUSPEND"
49+ SUSPEND_MODE_TEXT_COLOR_DEFAULT=" $TMUX_POWERLINE_CUR_SEGMENT_FG "
50+
4251SEPARATOR_TEXT_DEFAULT=" • "
4352
4453generate_segmentrc () {
@@ -61,6 +70,9 @@ export TMUX_POWERLINE_SEG_MODE_INDICATOR_COPY_MODE_ENABLED="${COPY_MODE_ENABLED_
6170# Copy mode text & color overrides. Defaults to "copy" & the segment foreground color set in the theme used.
6271export TMUX_POWERLINE_SEG_MODE_INDICATOR_COPY_MODE_TEXT="${COPY_MODE_TEXT_DEFAULT} "
6372export TMUX_POWERLINE_SEG_MODE_INDICATOR_COPY_MODE_TEXT_COLOR=""
73+ # Suspend mode text & color overrides. Defaults to "SUSPEND" & the segment foreground color set in the theme used.
74+ export TMUX_POWERLINE_SEG_MODE_INDICATOR_SUSPEND_MODE_TEXT="${SUSPEND_MODE_TEXT_DEFAULT} "
75+ export TMUX_POWERLINE_SEG_MODE_INDICATOR_SUSPEND_MODE_TEXT_COLOR=""
6476# Separator text override. Defaults to " • ".
6577export TMUX_POWERLINE_SEG_MODE_INDICATOR_SEPARATOR_TEXT="${SEPARATOR_TEXT_DEFAULT} "
6678EORC
@@ -75,6 +87,7 @@ run_segment() {
7587 prefix_text_color=" #[fg=$TMUX_POWERLINE_SEG_MODE_INDICATOR_PREFIX_MODE_TEXT_COLOR ]"
7688 mouse_text_color=" #[fg=$TMUX_POWERLINE_SEG_MODE_INDICATOR_MOUSE_MODE_TEXT_COLOR ]"
7789 copy_text_color=" #[fg=$TMUX_POWERLINE_SEG_MODE_INDICATOR_COPY_MODE_TEXT_COLOR ]"
90+ suspend_text_color=" #[fg=$TMUX_POWERLINE_SEG_MODE_INDICATOR_SUSPEND_MODE_TEXT_COLOR ]"
7891
7992 # Separator.
8093 separator=" #[fg=$TMUX_POWERLINE_CUR_SEGMENT_FG ]$TMUX_POWERLINE_SEG_MODE_INDICATOR_SEPARATOR_TEXT "
@@ -98,7 +111,13 @@ __normal_and_prefix_mode_indicator() {
98111
99112 normal_mode=" $normal_text_color$TMUX_POWERLINE_SEG_MODE_INDICATOR_NORMAL_MODE_TEXT "
100113 prefix_mode=" $prefix_text_color$TMUX_POWERLINE_SEG_MODE_INDICATOR_PREFIX_MODE_TEXT "
101- normal_and_prefix_indicator=" #{?client_prefix,$prefix_mode ,$normal_mode }"
114+ suspend_mode=" $suspend_text_color$TMUX_POWERLINE_SEG_MODE_INDICATOR_SUSPEND_MODE_TEXT "
115+
116+ if [ " $( tmux show-option -qv key-table) " = " suspended" ] ; then
117+ normal_and_prefix_indicator=" $suspend_mode "
118+ else
119+ normal_and_prefix_indicator=" #{?client_prefix,$prefix_mode ,$normal_mode }"
120+ fi
102121
103122 if [ -z " $segment " ]; then
104123 segment+=" $normal_and_prefix_indicator "
@@ -190,6 +209,12 @@ __process_settings() {
190209 if [ -z " $TMUX_POWERLINE_SEG_MODE_INDICATOR_COPY_MODE_TEXT_COLOR " ]; then
191210 export TMUX_POWERLINE_SEG_MODE_INDICATOR_COPY_MODE_TEXT_COLOR=" ${COPY_MODE_TEXT_COLOR_DEFAULT} "
192211 fi
212+ if [ -z " $TMUX_POWERLINE_SEG_MODE_INDICATOR_SUSPEND_MODE_TEXT " ]; then
213+ export TMUX_POWERLINE_SEG_MODE_INDICATOR_SUSPEND_MODE_TEXT=" ${SUSPEND_MODE_TEXT_DEFAULT} "
214+ fi
215+ if [ -z " $TMUX_POWERLINE_SEG_MODE_INDICATOR_SUSPEND_MODE_TEXT_COLOR " ]; then
216+ export TMUX_POWERLINE_SEG_MODE_INDICATOR_SUSPEND_MODE_TEXT_COLOR=" ${SUSPEND_MODE_TEXT_COLOR_DEFAULT} "
217+ fi
193218 if [ -z " $TMUX_POWERLINE_SEG_MODE_INDICATOR_SEPARATOR_TEXT " ]; then
194219 export TMUX_POWERLINE_SEG_MODE_INDICATOR_SEPARATOR_TEXT=" ${SEPARATOR_TEXT_DEFAULT} "
195220 fi
0 commit comments