kitty @ get-colors: Report the current tab bar colors for the active OS window rather than configured values. Fixes #5865

This commit is contained in:
Kovid Goyal 2023-01-07 13:56:36 +05:30
parent 66a2e6f80d
commit 41207aa830
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 14 additions and 0 deletions

View File

@ -51,6 +51,10 @@ configured colors.
ans.pop(k, None) ans.pop(k, None)
else: else:
ans[k] = color_from_int(v) ans[k] = color_from_int(v)
tab = windows[0].tabref()
tm = None if tab is None else tab.tab_manager_ref()
if tm is not None:
ans.update(tm.tab_bar.current_colors)
all_keys = natsort_ints(ans) all_keys = natsort_ints(ans)
maxlen = max(map(len, all_keys)) maxlen = max(map(len, all_keys))
return '\n'.join(('{:%ds} {}' % maxlen).format(key, color_as_sharp(ans[key])) for key in all_keys) return '\n'.join(('{:%ds} {}' % maxlen).format(key, color_as_sharp(ans[key])) for key in all_keys)

View File

@ -559,6 +559,16 @@ class TabBar:
self.draw_data = self.draw_data._replace(inactive_fg=ifg) self.draw_data = self.draw_data._replace(inactive_fg=ifg)
self.screen.color_profile.set_configured_colors(fg, bg) self.screen.color_profile.set_configured_colors(fg, bg)
@property
def current_colors(self) -> Dict[str, Color]:
return {
'active_tab_foreground': self.draw_data.active_fg,
'inactive_tab_foreground': self.draw_data.inactive_fg,
'active_tab_background': self.draw_data.active_bg,
'inactive_tab_background': self.draw_data.inactive_bg,
'tab_bar_background': self.draw_data.default_bg,
}
def update_blank_rects(self, central: Region, tab_bar: Region, vw: int, vh: int) -> None: def update_blank_rects(self, central: Region, tab_bar: Region, vw: int, vh: int) -> None:
opts = get_options() opts = get_options()
blank_rects: List[Border] = [] blank_rects: List[Border] = []