diff options
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2016-03-31 18:54:41 +0100 |
---|---|---|
committer | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2016-06-11 20:49:43 +0100 |
commit | 332a5c2553db41de777473a1e1be9cd1522c9496 (patch) | |
tree | 3ee06a59f147ccc4009b35cccfbe2461bcd18310 /poezio/size_manager.py | |
parent | cf44cf7cdec9fdb35caa372563d57e7045dc29dd (diff) | |
download | poezio-332a5c2553db41de777473a1e1be9cd1522c9496.tar.gz poezio-332a5c2553db41de777473a1e1be9cd1522c9496.tar.bz2 poezio-332a5c2553db41de777473a1e1be9cd1522c9496.tar.xz poezio-332a5c2553db41de777473a1e1be9cd1522c9496.zip |
Move the src directory to poezio, for better cython compatibility.
Diffstat (limited to 'poezio/size_manager.py')
-rw-r--r-- | poezio/size_manager.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/poezio/size_manager.py b/poezio/size_manager.py new file mode 100644 index 00000000..1cad83fd --- /dev/null +++ b/poezio/size_manager.py @@ -0,0 +1,46 @@ +""" +Size Manager: + used to check size boundaries of the whole window and + specific tabs +""" +THRESHOLD_WIDTH_DEGRADE = 45 +THRESHOLD_HEIGHT_DEGRADE = 10 + +FULL_WIDTH_DEGRADE = 66 +FULL_HEIGHT_DEGRADE = 10 + +class SizeManager(object): + + def __init__(self, core, win_cls): + self._win_class = win_cls + self._core = core + + @property + def tab_scr(self): + return self._win_class._tab_win + + @property + def core_scr(self): + return self._core.stdscr + + @property + def tab_degrade_x(self): + _, x = self.tab_scr.getmaxyx() + return x < THRESHOLD_WIDTH_DEGRADE + + @property + def tab_degrade_y(self): + y, x = self.tab_scr.getmaxyx() + return y < THRESHOLD_HEIGHT_DEGRADE + + @property + def core_degrade_x(self): + y, x = self.core_scr.getmaxyx() + return x < FULL_WIDTH_DEGRADE + + @property + def core_degrade_y(self): + y, x = self.core_scr.getmaxyx() + return y < FULL_HEIGHT_DEGRADE + + |