Size the window to aproximately 1/3 the screen space

windows_fixes_yo
wattygetlood 2021-09-19 18:34:17 -04:00 committed by wattygetlood
parent 15556e40f0
commit c411a244f6
1 changed files with 11 additions and 4 deletions

View File

@ -165,6 +165,7 @@ class MainWindow(QtGui.QMainWindow):
self._status_bar: QStatusBar = None
self._status_label: QLabel = None
self._size: Optional[tuple[int, int]] = None
@property
def mode_label(self) -> QtGui.QLabel:
@ -271,12 +272,18 @@ class MainWindow(QtGui.QMainWindow):
def configure_to_desktop(
self,
size: Optional[tuple[int, int]] = None,
) -> None:
# https://stackoverflow.com/a/18975846
app = QtGui.QApplication.instance()
geo = self.current_screen().geometry()
h, w = geo.height(), geo.width()
self.resize(round(w * .375), round(h * 3/8))
if not size and not self._size:
app = QtGui.QApplication.instance()
geo = self.current_screen().geometry()
h, w = geo.height(), geo.width()
self.setMaximumSize(w, h)
# use approx 1/3 of the area of the screen by default
self._size = round(w * .666), round(h * .666)
self.resize(*size or self._size)