Save popout position from hyprctl on close (Wayland can't report position to Qt)

This commit is contained in:
pax 2026-04-06 19:51:35 -05:00
parent 7004f38668
commit 2f3161f974

View File

@ -438,7 +438,15 @@ class FullscreenPreview(QMainWindow):
# Save window state for next open # Save window state for next open
FullscreenPreview._saved_fullscreen = self.isFullScreen() FullscreenPreview._saved_fullscreen = self.isFullScreen()
if not self.isFullScreen(): if not self.isFullScreen():
FullscreenPreview._saved_geometry = self.geometry() # On Hyprland, Qt doesn't know the real position — ask the WM
win = self._hyprctl_get_window()
if win and win.get("at") and win.get("size"):
from PySide6.QtCore import QRect
x, y = win["at"]
w, h = win["size"]
FullscreenPreview._saved_geometry = QRect(x, y, w, h)
else:
FullscreenPreview._saved_geometry = self.frameGeometry()
QApplication.instance().removeEventFilter(self) QApplication.instance().removeEventFilter(self)
self.closed.emit() self.closed.emit()
self._video.stop() self._video.stop()