diff options
| author | jmanc3 <jman12316@live.com> | 2025-09-02 04:49:24 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-02 11:49:24 +0200 |
| commit | 00423bb738d568f4903412fdabdf53e2c63fde7c (patch) | |
| tree | f78f76289ce5511abfb33b6eeb7a894241ac2bd8 /src/protocols/XDGDecoration.cpp | |
| parent | 8a64168a43f7d50810f428af0b34013f796ca2c8 (diff) | |
plugins: expose csd functionality (#11551)
Diffstat (limited to 'src/protocols/XDGDecoration.cpp')
| -rw-r--r-- | src/protocols/XDGDecoration.cpp | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/src/protocols/XDGDecoration.cpp b/src/protocols/XDGDecoration.cpp index b093fbb8..0339db6b 100644 --- a/src/protocols/XDGDecoration.cpp +++ b/src/protocols/XDGDecoration.cpp @@ -17,15 +17,35 @@ CXDGDecoration::CXDGDecoration(SP<CZxdgToplevelDecorationV1> resource_, wl_resou } LOGM(LOG, "setMode: {}. {} MODE_SERVER_SIDE as reply.", modeString, (mode == ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE ? "Sending" : "Ignoring and sending")); - m_resource->sendConfigure(ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE); + auto sendMode = xdgModeOnRequestCSD(mode); + m_resource->sendConfigure(sendMode); + mostRecentlySent = sendMode; + mostRecentlyRequested = mode; }); m_resource->setUnsetMode([this](CZxdgToplevelDecorationV1*) { LOGM(LOG, "unsetMode. Sending MODE_SERVER_SIDE."); - m_resource->sendConfigure(ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE); + auto sendMode = xdgModeOnReleaseCSD(); + m_resource->sendConfigure(sendMode); + mostRecentlySent = sendMode; + mostRecentlyRequested = 0; }); - m_resource->sendConfigure(ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE); + auto sendMode = xdgDefaultModeCSD(); + m_resource->sendConfigure(sendMode); + mostRecentlySent = sendMode; +} + +zxdgToplevelDecorationV1Mode CXDGDecoration::xdgDefaultModeCSD() { + return ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE; +} + +zxdgToplevelDecorationV1Mode CXDGDecoration::xdgModeOnRequestCSD(uint32_t modeRequestedByClient) { + return xdgDefaultModeCSD(); +} + +zxdgToplevelDecorationV1Mode CXDGDecoration::xdgModeOnReleaseCSD() { + return xdgDefaultModeCSD(); } bool CXDGDecoration::good() { @@ -71,4 +91,4 @@ void CXDGDecorationProtocol::onGetDecoration(CZxdgDecorationManagerV1* pMgr, uin m_decorations.erase(xdgToplevel); return; } -}
\ No newline at end of file +} |
