mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-14 04:24:52 +02:00
Ensure tab bar visibility is updated when removing a tab
This commit is contained in:
@@ -1153,13 +1153,6 @@ class TabManager: # {{{
|
|||||||
if not visible_before and self.tab_bar_should_be_visible:
|
if not visible_before and self.tab_bar_should_be_visible:
|
||||||
self.tabbar_visibility_changed()
|
self.tabbar_visibility_changed()
|
||||||
|
|
||||||
def _remove_tab(self, tab: Tab) -> None:
|
|
||||||
visible_before = self.tab_bar_should_be_visible
|
|
||||||
remove_tab(self.os_window_id, tab.id)
|
|
||||||
self.tabs.remove(tab)
|
|
||||||
if visible_before and not self.tab_bar_should_be_visible:
|
|
||||||
self.tabbar_visibility_changed()
|
|
||||||
|
|
||||||
def _set_active_tab(self, idx: int, store_in_history: bool = True) -> None:
|
def _set_active_tab(self, idx: int, store_in_history: bool = True) -> None:
|
||||||
if store_in_history:
|
if store_in_history:
|
||||||
self.active_tab_idx = idx
|
self.active_tab_idx = idx
|
||||||
@@ -1425,9 +1418,11 @@ class TabManager: # {{{
|
|||||||
return t
|
return t
|
||||||
|
|
||||||
def remove(self, removed_tab: Tab) -> None:
|
def remove(self, removed_tab: Tab) -> None:
|
||||||
|
visible_before = self.tab_bar_should_be_visible
|
||||||
active_tab_before_removal = self.active_tab
|
active_tab_before_removal = self.active_tab
|
||||||
tabs = tuple(self.tabs_to_be_shown_in_tab_bar)
|
tabs = tuple(self.tabs_to_be_shown_in_tab_bar)
|
||||||
self._remove_tab(removed_tab)
|
remove_tab(self.os_window_id, removed_tab.id)
|
||||||
|
self.tabs.remove(removed_tab)
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
self.active_tab_history.remove(removed_tab.id)
|
self.active_tab_history.remove(removed_tab.id)
|
||||||
@@ -1488,6 +1483,8 @@ class TabManager: # {{{
|
|||||||
self._active_tab_idx = 0
|
self._active_tab_idx = 0
|
||||||
self.mark_tab_bar_dirty()
|
self.mark_tab_bar_dirty()
|
||||||
removed_tab.destroy()
|
removed_tab.destroy()
|
||||||
|
if self.tab_bar_should_be_visible != visible_before:
|
||||||
|
self.tabbar_visibility_changed()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def tab_bar_data(self) -> list[TabBarData]:
|
def tab_bar_data(self) -> list[TabBarData]:
|
||||||
|
|||||||
Reference in New Issue
Block a user