summaryrefslogtreecommitdiffstats
path: root/src/compositor/extensions/qwaylandxdgshellv6integration_p.h
diff options
context:
space:
mode:
authorMatt Hoosier <matt.hoosier@garmin.com>2018-06-13 10:29:10 -0500
committerMatt Hoosier <matt.hoosier@garmin.com>2018-06-20 13:13:06 +0000
commit1eaac3fbcd4cdd7aba3a611d1e94436fe2666b82 (patch)
treeb8415fefa6795b6738423f72753c40eae8521a86 /src/compositor/extensions/qwaylandxdgshellv6integration_p.h
parent5a4769b0757867bbadf3d50e8a5a3b2e061be94b (diff)
Compositor: make XdgShellV6 reconfigure clients on mode-change
[ChangeLog][Compositor] Made the zxdg_shell_v6 compositor protocol implementation re-issue configure requests with updated sizes when the size or available geometry changes on an output used by a maximized or fullscreen surface. Change-Id: Ia446511f123e831b2d0a35ba202a6d092a841569 Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Diffstat (limited to 'src/compositor/extensions/qwaylandxdgshellv6integration_p.h')
-rw-r--r--src/compositor/extensions/qwaylandxdgshellv6integration_p.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/compositor/extensions/qwaylandxdgshellv6integration_p.h b/src/compositor/extensions/qwaylandxdgshellv6integration_p.h
index afb4964b9..5b56af89b 100644
--- a/src/compositor/extensions/qwaylandxdgshellv6integration_p.h
+++ b/src/compositor/extensions/qwaylandxdgshellv6integration_p.h
@@ -77,6 +77,9 @@ private Q_SLOTS:
void handleFullscreenChanged();
void handleActivatedChanged();
void handleSurfaceSizeChanged();
+ void handleToplevelDestroyed();
+ void handleMaximizedSizeChanged();
+ void handleFullscreenSizeChanged();
private:
QWaylandQuickShellSurfaceItem *m_item = nullptr;
@@ -110,6 +113,13 @@ private:
QSize initialWindowSize;
QPointF initialPosition;
} windowedGeometry;
+
+ struct {
+ QWaylandOutput *output = nullptr;
+ QMetaObject::Connection sizeChangedConnection; // Depending on whether maximized or fullscreen,
+ // will be hooked to geometry-changed or available-
+ // geometry-changed.
+ } nonwindowedState;
};
class XdgPopupV6Integration : public QWaylandQuickShellIntegration