diff --git a/src/calibre/gui2/geometry.py b/src/calibre/gui2/geometry.py index d3a6c95e1e..af765daac1 100644 --- a/src/calibre/gui2/geometry.py +++ b/src/calibre/gui2/geometry.py @@ -146,9 +146,9 @@ def _restore_to_new_screen(self: QWidget, s: QScreen, saved_data: dict) -> bool: sz = QSize(min(saved_geometry.width(), available_size.width()), min(saved_geometry.height(), available_size.height())) if not sz.isValid(): return False - max_left = available_geometry.left() + (available_size.width() - sz.width()) - max_top = available_geometry.top() + (available_size.height() - sz.height()) - geometry = QRect(min(saved_geometry.left(), max_left), min(saved_geometry.top(), max_top), sz.width(), sz.height()) + left = available_geometry.left() + (available_size.width() - sz.width()) // 2 + top = available_geometry.top() + (available_size.height() - sz.height()) // 2 + geometry = QRect(left, top, sz.width(), sz.height()) return _do_restore(self, s, geometry, saved_data)