summaryrefslogtreecommitdiff
path: root/src/Window.hpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2022-08-06 20:57:38 +0200
committervaxerski <vaxry@vaxry.net>2022-08-06 20:57:38 +0200
commit69b8568ccff1cc225c5ad4b341c8a09bdf9f8654 (patch)
treec9311e3ef99a010940015e21672bfbe2b697c3a9 /src/Window.hpp
parentccd68049f727a52b59f8a432b132a16e683986e4 (diff)
better foreign toplevel protocol obedience
Diffstat (limited to 'src/Window.hpp')
-rw-r--r--src/Window.hpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/Window.hpp b/src/Window.hpp
index ab684432..dab1e88b 100644
--- a/src/Window.hpp
+++ b/src/Window.hpp
@@ -39,6 +39,11 @@ public:
DYNLISTENER(requestMinimize);
DYNLISTENER(requestMaximize);
DYNLISTENER(requestResize);
+ DYNLISTENER(activateX11);
+ DYNLISTENER(configureX11);
+ DYNLISTENER(toplevelClose);
+ DYNLISTENER(toplevelActivate);
+ DYNLISTENER(toplevelFullscreen);
// DYNLISTENER(newSubsurfaceWindow);
union {
@@ -87,8 +92,6 @@ public:
uint64_t m_iX11Type = 0;
bool m_bIsModal = false;
bool m_bX11DoesntWantBorders = false;
- DYNLISTENER(activateX11);
- DYNLISTENER(configureX11);
//
// For nofocus
@@ -127,6 +130,9 @@ public:
// animated shadow color
CAnimatedVariable m_cRealShadowColor;
+ // for toplevel monitor events
+ int m_iLastToplevelMonitorID = -1;
+
// For the list lookup
bool operator==(const CWindow& rhs) {
return m_uSurface.xdg == rhs.m_uSurface.xdg && m_uSurface.xwayland == rhs.m_uSurface.xwayland && m_vPosition == rhs.m_vPosition && m_vSize == rhs.m_vSize && m_bFadingOut == rhs.m_bFadingOut;
@@ -138,5 +144,8 @@ public:
void updateWindowDecos();
pid_t getPID();
IHyprWindowDecoration* getDecorationByType(eDecorationType);
+ void createToplevelHandle();
+ void destroyToplevelHandle();
+ void updateToplevel();
};