quickshell/src/wayland/wlr_layershell/shell_integration.cpp
outfoxxed e0cff677a5
wayland/layershell: refactor layer shell surface integration
In addition to the much needed cleanup:

- The bridge/extension type is now directly tied to the QWindow
instead of the WlrLayershell object, and is much smaller.
- Layer requests are now comitted via polish instead of for each
change individually.
2025-05-13 14:56:49 -07:00

25 lines
670 B
C++

#include "shell_integration.hpp"
#include <private/qwaylandshellintegration_p.h>
#include <private/qwaylandshellsurface_p.h>
#include <private/qwaylandwindow_p.h>
#include "surface.hpp"
namespace qs::wayland::layershell {
LayerShellIntegration::LayerShellIntegration()
: QtWaylandClient::QWaylandShellIntegrationTemplate<LayerShellIntegration>(4) {}
LayerShellIntegration::~LayerShellIntegration() {
if (this->isInitialized()) {
this->destroy();
}
}
QtWaylandClient::QWaylandShellSurface*
LayerShellIntegration::createShellSurface(QtWaylandClient::QWaylandWindow* window) {
return new LayerSurface(this, window);
}
} // namespace qs::wayland::layershell