Revert "Fix #2072 (only resize a tab if the size changed since the last display)"
This reverts commit b46f0f5e26
.
Conflicts:
src/tabs/muclisttab.py
Doing this made the unresized elements refresh in the old subwins,
causing glitches and weirdness. And anyway, the only problematic
element is the TextWin (rebuilding all the lines of a buffer is
expensive), but it already checks if the width changed.
This commit is contained in:
parent
b8972ad940
commit
9c8d577737
8 changed files with 11 additions and 16 deletions
|
@ -1582,7 +1582,9 @@ class Core(object):
|
|||
self.resize_global_information_win()
|
||||
with g_lock:
|
||||
for tab in self.tabs:
|
||||
if not config.get('lazy_resize', True):
|
||||
if config.get('lazy_resize', True):
|
||||
tab.need_resize = True
|
||||
else:
|
||||
tab.resize()
|
||||
if self.tabs:
|
||||
self.full_screen_redraw()
|
||||
|
|
|
@ -96,10 +96,10 @@ class Tab(object):
|
|||
self._state = 'normal'
|
||||
self._prev_state = None
|
||||
|
||||
self.need_resize = False
|
||||
self.key_func = {} # each tab should add their keys in there
|
||||
# and use them in on_input
|
||||
self.commands = {} # and their own commands
|
||||
self._saved_size = (-1, -1)
|
||||
|
||||
|
||||
@property
|
||||
|
@ -185,13 +185,6 @@ class Tab(object):
|
|||
elif not self._prev_state:
|
||||
self._state = 'normal'
|
||||
|
||||
def push_size(self):
|
||||
self._saved_size = (self.height, self.width)
|
||||
|
||||
@property
|
||||
def need_resize(self):
|
||||
return self._saved_size != (self.height, self.width)
|
||||
|
||||
@staticmethod
|
||||
def resize(scr):
|
||||
with g_lock:
|
||||
|
|
|
@ -260,6 +260,7 @@ class ConversationTab(ChatTab):
|
|||
callback=callback)
|
||||
|
||||
def resize(self):
|
||||
self.need_resize = False
|
||||
if self.size.tab_degrade_y:
|
||||
display_bar = False
|
||||
info_win_height = 0
|
||||
|
@ -282,7 +283,6 @@ class ConversationTab(ChatTab):
|
|||
- tab_win_height,
|
||||
0)
|
||||
self.input.resize(1, self.width, self.height - 1, 0)
|
||||
self.push_size()
|
||||
|
||||
def refresh(self):
|
||||
if self.need_resize:
|
||||
|
|
|
@ -57,6 +57,7 @@ class DataFormsTab(Tab):
|
|||
self.form_win.on_input(key)
|
||||
|
||||
def resize(self):
|
||||
self.need_resize = False
|
||||
self.topic_win.resize(1, self.width, 0, 0)
|
||||
self.form_win.resize(self.height - 3 - Tab.tab_win_height(),
|
||||
self.width, 1, 0)
|
||||
|
@ -64,7 +65,6 @@ class DataFormsTab(Tab):
|
|||
self.help_win_dyn.resize(1, self.width,
|
||||
self.height - 2 - Tab.tab_win_height(), 0)
|
||||
self.lines = []
|
||||
self.push_size()
|
||||
|
||||
def refresh(self):
|
||||
if self.need_resize:
|
||||
|
|
|
@ -796,7 +796,7 @@ class MucTab(ChatTab):
|
|||
"""
|
||||
Resize the whole window. i.e. all its sub-windows
|
||||
"""
|
||||
log.debug('RESIZE PLS')
|
||||
self.need_resize = False
|
||||
if config.get("hide_user_list", False) or self.size.tab_degrade_x:
|
||||
display_user_list = False
|
||||
text_width = self.width
|
||||
|
@ -833,7 +833,6 @@ class MucTab(ChatTab):
|
|||
- tab_win_height,
|
||||
0)
|
||||
self.input.resize(1, self.width, self.height-1, 0)
|
||||
self.push_size()
|
||||
|
||||
def refresh(self):
|
||||
if self.need_resize:
|
||||
|
|
|
@ -237,6 +237,8 @@ class PrivateTab(ChatTab):
|
|||
self.parent_muc.command_info(user)
|
||||
|
||||
def resize(self):
|
||||
self.need_resize = False
|
||||
|
||||
if self.size.tab_degrade_y:
|
||||
info_win_height = 0
|
||||
tab_win_height = 0
|
||||
|
@ -252,7 +254,6 @@ class PrivateTab(ChatTab):
|
|||
- tab_win_height,
|
||||
0)
|
||||
self.input.resize(1, self.width, self.height-1, 0)
|
||||
self.push_size()
|
||||
|
||||
def refresh(self):
|
||||
if self.need_resize:
|
||||
|
|
|
@ -266,6 +266,7 @@ class RosterInfoTab(Tab):
|
|||
self.core.command_last_activity(jid)
|
||||
|
||||
def resize(self):
|
||||
self.need_resize = False
|
||||
if self.size.tab_degrade_x:
|
||||
display_info = False
|
||||
roster_width = self.width
|
||||
|
@ -301,7 +302,6 @@ class RosterInfoTab(Tab):
|
|||
roster_width, 0, 0)
|
||||
self.input.resize(1, self.width, self.height-1, 0)
|
||||
self.default_help_message.resize(1, self.width, self.height-1, 0)
|
||||
self.push_size()
|
||||
|
||||
def completion(self):
|
||||
# Check if we are entering a command (with the '/' key)
|
||||
|
|
|
@ -164,6 +164,7 @@ class XMLTab(Tab):
|
|||
self.core.close_tab()
|
||||
|
||||
def resize(self):
|
||||
self.need_resize = False
|
||||
if self.size.tab_degrade_y:
|
||||
info_win_size = 0
|
||||
tab_win_height = 0
|
||||
|
@ -179,7 +180,6 @@ class XMLTab(Tab):
|
|||
- tab_win_height,
|
||||
0)
|
||||
self.input.resize(1, self.width, self.height-1, 0)
|
||||
self.push_size()
|
||||
|
||||
def refresh(self):
|
||||
if self.need_resize:
|
||||
|
|
Loading…
Reference in a new issue