@@ -72,15 +72,16 @@ __process_segment_defaults() {
7272 for segment_index in " ${! input_segments[@]} " ; do
7373 local input_segment
7474 read -r -a input_segment <<< " ${input_segments[segment_index]}"
75- eval " local default_separator=\$ TMUX_POWERLINE_DEFAULT_${upper_side} SIDE_SEPARATOR"
7675
7776 powerline_segment_with_defaults=(
7877 " ${input_segment[0]:- no_script} "
79- " ${input_segment[1]:- $TMUX_POWERLINE_DEFAULT_BACKGROUND_COLOR } "
80- " ${input_segment[2]:- $TMUX_POWERLINE_DEFAULT_FOREGROUND_COLOR } "
81- " ${input_segment[3]:- $default_separator } "
82- " ${input_segment[6]:- $spacing_disable } "
83- " ${input_segment[7]:- $separator_disable } "
78+ " ${input_segment[1]:- default_bg_color} "
79+ " ${input_segment[2]:- default_fg_color} "
80+ " ${input_segment[3]:- default_separator} "
81+ " ${input_segment[4]:- no_sep_bg_color} "
82+ " ${input_segment[5]:- no_sep_fg_color} "
83+ " ${input_segment[6]:- no_spacing_disable} "
84+ " ${input_segment[7]:- no_separator_disable} "
8485 )
8586
8687 powerline_segments[segment_index]=" ${powerline_segment_with_defaults[*]} "
@@ -115,11 +116,11 @@ __process_scripts() {
115116 fi
116117
117118 if [ -n " $output " ]; then
118- if [[ ${powerline_segment[4 ]} == " left_disable" ]]; then
119+ if [[ ${powerline_segment[6 ]} == " left_disable" ]]; then
119120 powerline_segment_contents[segment_index]=" $output "
120- elif [[ ${powerline_segment[4 ]} == " right_disable" ]]; then
121+ elif [[ ${powerline_segment[6 ]} == " right_disable" ]]; then
121122 powerline_segment_contents[segment_index]=" $output "
122- elif [[ ${powerline_segment[4 ]} == " both_disable" ]]; then
123+ elif [[ ${powerline_segment[6 ]} == " both_disable" ]]; then
123124 powerline_segment_contents[segment_index]=" $output "
124125 else
125126 powerline_segment_contents[segment_index]=" $output "
@@ -134,28 +135,43 @@ __process_colors() {
134135 for segment_index in " ${! powerline_segments[@]} " ; do
135136 local powerline_segment
136137 read -r -a powerline_segment <<< " ${powerline_segments[segment_index]}"
137- local separator_enable=${powerline_segment[5 ]}
138+ local separator_enable=${powerline_segment[7 ]}
138139 # Find the next segment that produces content (i.e. skip empty segments).
139140 for next_segment_index in $( eval echo " {$(( segment_index + 1 )) ..${# powerline_segments} }" ) ; do
140141 [[ -n ${powerline_segments[next_segment_index]} ]] && break
141142 done
142143 local next_segment
143144 read -r -a next_segment <<< " ${powerline_segments[next_segment_index]}"
144145
146+ if [ " ${powerline_segment[1]} " = " default_bg_color" ]; then
147+ powerline_segment[1]=" $TMUX_POWERLINE_DEFAULT_BACKGROUND_COLOR "
148+ fi
149+ if [ " ${powerline_segment[2]} " = " default_fg_color" ]; then
150+ powerline_segment[2]=" $TMUX_POWERLINE_DEFAULT_FOREGROUND_COLOR "
151+ fi
152+
145153 if [ " $side " == ' left' ]; then
146- powerline_segment[4]=${next_segment[1]:- $TMUX_POWERLINE_DEFAULT_BACKGROUND_COLOR }
154+ if [ " ${powerline_segment[4]} " = " no_sep_bg_color" ]; then
155+ powerline_segment[4]=${next_segment[1]:- $TMUX_POWERLINE_DEFAULT_BACKGROUND_COLOR }
156+ fi
147157 elif [ " $side " == ' right' ]; then
148- powerline_segment[4]=${previous_background_color:- $TMUX_POWERLINE_DEFAULT_BACKGROUND_COLOR }
158+ if [ " ${powerline_segment[4]} " = " no_sep_bg_color" ]; then
159+ powerline_segment[4]=${previous_background_color:- $TMUX_POWERLINE_DEFAULT_BACKGROUND_COLOR }
160+ fi
149161 fi
150162
151163 if __segment_separator_is_thin; then
152- powerline_segment[5]=${powerline_segment[2]}
164+ if [ " ${powerline_segment[5]} " = " no_sep_fg_color" ]; then
165+ powerline_segment[5]=${powerline_segment[2]}
166+ fi
153167 else
154- powerline_segment[5]=${powerline_segment[1]}
168+ if [ " ${powerline_segment[5]} " = " no_sep_fg_color" ]; then
169+ powerline_segment[5]=${powerline_segment[1]}
170+ fi
155171 fi
156172
157173 local previous_background_color=${powerline_segment[1]}
158- powerline_segment[6 ]=$separator_enable
174+ powerline_segment[7 ]=$separator_enable
159175
160176 powerline_segments[segment_index]=" ${powerline_segment[*]} "
161177 done
@@ -168,12 +184,21 @@ __process_powerline() {
168184
169185 local background_color=${powerline_segment[1]}
170186 local foreground_color=${powerline_segment[2]}
171- local separator=${powerline_segment[3]}
187+ if [ " ${powerline_segment[3]} " = " default_separator" ]; then
188+ if [ " $upper_side " = " RIGHT" ]; then
189+ local separator=" $TMUX_POWERLINE_DEFAULT_RIGHTSIDE_SEPARATOR "
190+ elif [ " $upper_side " = " LEFT" ]; then
191+ local separator=" $TMUX_POWERLINE_DEFAULT_LEFTSIDE_SEPARATOR "
192+ fi
193+ else
194+ local separator=${powerline_segment[3]}
195+ fi
172196 local separator_background_color=${powerline_segment[4]}
173197 local separator_foreground_color=${powerline_segment[5]}
174- local separator_disable=${powerline_segment[6]}
198+ local spacing_disable=${powerline_segment[6]}
199+ local separator_disable=${powerline_segment[7]}
175200
176- eval " __print_${side} _segment \" ${segment_index} \" \" ${background_color} \" \" ${foreground_color} \" \" ${separator} \" \" ${separator_background_color} \" \" ${separator_foreground_color} \" \" ${separator_disable} \" "
201+ eval " __print_${side} _segment \" ${segment_index} \" \" ${background_color} \" \" ${foreground_color} \" \" ${separator} \" \" ${separator_background_color} \" \" ${separator_foreground_color} \" \" ${spacing_disable} \" \" ${ separator_disable}\" "
177202 done
178203}
179204
@@ -184,7 +209,8 @@ __print_left_segment() {
184209 local separator=$4
185210 local separator_background_color=$5
186211 local separator_foreground_color=$6
187- local separator_disable=$7
212+ local spacing_disable=$7
213+ local separator_disable=$8
188214
189215 __print_colored_content " $content " " $content_background_color " " $content_foreground_color "
190216 if [ ! " $separator_disable " == " separator_disable" ]; then
@@ -199,7 +225,8 @@ __print_right_segment() {
199225 local separator=$4
200226 local separator_background_color=$5
201227 local separator_foreground_color=$6
202- local separator_disable=$7
228+ local spacing_disable=$7
229+ local separator_disable=$8
203230
204231 if [ ! " $separator_disable " == " separator_disable" ]; then
205232 __print_colored_content " $separator " " $separator_background_color " " $separator_foreground_color "
0 commit comments