summaryrefslogtreecommitdiff
path: root/src/tabs/basetabs.py
diff options
context:
space:
mode:
authormathieui <mathieui@mathieui.net>2014-04-28 23:29:21 +0200
committermathieui <mathieui@mathieui.net>2014-04-28 23:29:21 +0200
commit0caf9417b27a67bd6b78a96d22618ef6dd995937 (patch)
treef42e0e982faa5a88d590eba45165c2f8951bf0be /src/tabs/basetabs.py
parent069283e349b2e8dd324446aa5c30253a0993f1a3 (diff)
downloadpoezio-0caf9417b27a67bd6b78a96d22618ef6dd995937.tar.gz
poezio-0caf9417b27a67bd6b78a96d22618ef6dd995937.tar.bz2
poezio-0caf9417b27a67bd6b78a96d22618ef6dd995937.tar.xz
poezio-0caf9417b27a67bd6b78a96d22618ef6dd995937.zip
Make the size modular, remove small-size lock (also seems to fix #2155)
some stuff is now hidden wen the window size gets too small (might need some adjustments). The info buffer in the roster tab, the userlist in mucs, the vertical tab list, the info buffer everywhere, etc…
Diffstat (limited to 'src/tabs/basetabs.py')
-rw-r--r--src/tabs/basetabs.py20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/tabs/basetabs.py b/src/tabs/basetabs.py
index 2811ba66..77086ec6 100644
--- a/src/tabs/basetabs.py
+++ b/src/tabs/basetabs.py
@@ -38,9 +38,6 @@ from theming import get_theme
from windows import g_lock
-MIN_WIDTH = 42
-MIN_HEIGHT = 6
-
# getters for tab colors (lambdas, so that they are dynamic)
STATE_COLORS = {
'disconnected': lambda: get_theme().COLOR_TAB_DISCONNECTED,
@@ -88,6 +85,7 @@ STATE_PRIORITY = {
class Tab(object):
tab_core = None
+ size_manager = None
plugin_commands = {}
plugin_keys = {}
@@ -103,6 +101,12 @@ class Tab(object):
@property
+ def size(self):
+ if not Tab.size_manager:
+ Tab.size_manager = self.core.size
+ return Tab.size_manager
+
+ @property
def core(self):
if not Tab.tab_core:
Tab.tab_core = singleton.Singleton(core.Core)
@@ -182,11 +186,7 @@ class Tab(object):
@staticmethod
def resize(scr):
with g_lock:
- Tab.size = (Tab.height, Tab.width) = scr.getmaxyx()
- if Tab.height < MIN_HEIGHT or Tab.width < MIN_WIDTH:
- Tab.visible = False
- else:
- Tab.visible = True
+ Tab.height, Tab.width = scr.getmaxyx()
windows.Win._tab_win = scr
def register_command(self, name, func, *, desc='', shortdesc='', completion=None, usage=''):
@@ -283,9 +283,9 @@ class Tab(object):
return False
def refresh_tab_win(self):
- if self.left_tab_win:
+ if self.left_tab_win and not self.size.core_degrade_x:
self.left_tab_win.refresh()
- else:
+ elif not self.size.core_degrade_y:
self.tab_win.refresh()
def refresh(self):