fix: composing indicators not showing (fix #3527)

the fact this even worked in vertical mode was only due to a theming
edge case.
This commit is contained in:
mathieui 2021-04-16 19:41:03 +02:00
parent f1f1ccd506
commit cbc4041746
2 changed files with 11 additions and 2 deletions

View file

@ -181,6 +181,10 @@ class Tab:
def vertical_color(self):
return VERTICAL_STATE_COLORS[self._state]()
@property
def priority(self) -> Union[int, float]:
return STATE_PRIORITY.get(self._state, -1)
@property
def state(self) -> str:
return self._state

View file

@ -18,6 +18,7 @@ from poezio.common import unique_prefix_of
log = logging.getLogger(__name__)
class GlobalInfoBar(Win):
__slots__ = ('core')
@ -69,7 +70,8 @@ class GlobalInfoBar(Win):
if not tab:
continue
color = tab.color
if not show_inactive and color is theme.COLOR_TAB_NORMAL:
if not show_inactive and color is theme.COLOR_TAB_NORMAL and (
tab.priority < 0):
continue
try:
if show_nums or not show_names:
@ -114,7 +116,10 @@ class VerticalGlobalInfoBar(Win):
if not config.getbool('show_inactive_tabs'):
sorted_tabs = [
tab for tab in sorted_tabs
if tab.vertical_color != theme.COLOR_VERTICAL_TAB_NORMAL
if (
tab.vertical_color != theme.COLOR_VERTICAL_TAB_NORMAL or
tab.priority > 0
)
]
nb_tabs = len(sorted_tabs)
use_nicks = config.getbool('use_tab_nicks')