From f726dc59222d04e803a631c246576126071dc613 Mon Sep 17 00:00:00 2001 From: James Turner Date: Thu, 18 Mar 2021 11:29:47 -0400 Subject: [PATCH] Add 1x3 portrait layout --- camplayer/backgroundgen.py | 3 ++- camplayer/screenmanager.py | 31 +++++++++++++++++++++++++++++++ camplayer/utils/settings.py | 1 + 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/camplayer/backgroundgen.py b/camplayer/backgroundgen.py index e760271..b2bd780 100644 --- a/camplayer/backgroundgen.py +++ b/camplayer/backgroundgen.py @@ -34,6 +34,7 @@ def NOLINK(cls, window_count): _map = ({ 1: cls.NOLINK_1X1, + 3: cls.NOLINK_1X1, 4: cls.NOLINK_2X2, 6: cls.NOLINK_1P5, 7: cls.NOLINK_3P4, @@ -322,4 +323,4 @@ def destroy(cls): if CONFIG.BACKGROUND_MODE == BACKGROUND.DYNAMIC: for display_idx in range(GLOBALS.NUM_DISPLAYS): if cls._proc_background[display_idx]: - cls._proc_background[display_idx].stdin.write("c".encode('utf-8')) \ No newline at end of file + cls._proc_background[display_idx].stdin.write("c".encode('utf-8')) diff --git a/camplayer/screenmanager.py b/camplayer/screenmanager.py index 801f65c..5fc4f5b 100644 --- a/camplayer/screenmanager.py +++ b/camplayer/screenmanager.py @@ -380,6 +380,36 @@ def _load_windows(self): nrows_ncolums = 1 self.grid_size = [9, 16] + elif self.layout == LAYOUT._1X3: + nrows_ncolums = 3 + self.grid_size = [1, 3] + self.windows.append(Window( + x1=CONSTANTS.VIRT_SCREEN_OFFSET_X, + y1=CONSTANTS.VIRT_SCREEN_OFFSET_Y, + x2=int(CONSTANTS.VIRT_SCREEN_OFFSET_X + CONSTANTS.VIRT_SCREEN_WIDTH), + y2=int(CONSTANTS.VIRT_SCREEN_OFFSET_Y + (CONSTANTS.VIRT_SCREEN_HEIGHT / 3)), + gridindex=[0], + screen_idx=self._screen_idx, + window_idx=len(self.windows), + display_idx=self._display_idx)) + self.windows.append(Window( + x1=CONSTANTS.VIRT_SCREEN_OFFSET_X, + y1=CONSTANTS.VIRT_SCREEN_OFFSET_Y + (CONSTANTS.VIRT_SCREEN_HEIGHT / 3), + x2=int(CONSTANTS.VIRT_SCREEN_OFFSET_X + CONSTANTS.VIRT_SCREEN_WIDTH), + y2=int(CONSTANTS.VIRT_SCREEN_OFFSET_Y + (CONSTANTS.VIRT_SCREEN_HEIGHT * 2 / 3)), + gridindex=[1], + screen_idx=self._screen_idx, + window_idx=len(self.windows), + display_idx=self._display_idx)) + self.windows.append(Window( + x1=CONSTANTS.VIRT_SCREEN_OFFSET_X, + y1=CONSTANTS.VIRT_SCREEN_OFFSET_Y + (CONSTANTS.VIRT_SCREEN_HEIGHT * 2 / 3), + x2=int(CONSTANTS.VIRT_SCREEN_OFFSET_X + CONSTANTS.VIRT_SCREEN_WIDTH), + y2=int(CONSTANTS.VIRT_SCREEN_OFFSET_Y + CONSTANTS.VIRT_SCREEN_HEIGHT), + gridindex=[2], + screen_idx=self._screen_idx, + window_idx=len(self.windows), + display_idx=self._display_idx)) elif self.layout == LAYOUT._2X2: nrows_ncolums = 2 self.grid_size = [16] @@ -531,6 +561,7 @@ def _load_windows(self): (self.layout == LAYOUT._2P8 and column > 1) or (self.layout == LAYOUT._3P4 and (column > 1 and row > 1)) or (self.layout == LAYOUT._1X1) or + (self.layout == LAYOUT._1X3) or (self.layout == LAYOUT._2X2) or (self.layout == LAYOUT._3X3) or (self.layout == LAYOUT._4X4)): diff --git a/camplayer/utils/settings.py b/camplayer/utils/settings.py index 45bd5f5..c67c992 100644 --- a/camplayer/utils/settings.py +++ b/camplayer/utils/settings.py @@ -14,6 +14,7 @@ @unique class LAYOUT(IntEnum): _1X1 = 1 + _1X3 = 3 _2X2 = 4 _3X3 = 9 _1P5 = 6