summaryrefslogtreecommitdiff
path: root/example/examplePlugin/customLayout.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'example/examplePlugin/customLayout.hpp')
-rw-r--r--example/examplePlugin/customLayout.hpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/example/examplePlugin/customLayout.hpp b/example/examplePlugin/customLayout.hpp
new file mode 100644
index 00000000..974882c2
--- /dev/null
+++ b/example/examplePlugin/customLayout.hpp
@@ -0,0 +1,32 @@
+#pragma once
+
+#define WLR_USE_UNSTABLE
+
+#include "../../src/layout/IHyprLayout.hpp"
+
+struct SWindowData {
+ CWindow* pWindow = nullptr;
+};
+
+class CHyprCustomLayout : public IHyprLayout {
+ public:
+ virtual void onWindowCreatedTiling(CWindow*);
+ virtual void onWindowRemovedTiling(CWindow*);
+ virtual bool isWindowTiled(CWindow*);
+ virtual void recalculateMonitor(const int&);
+ virtual void recalculateWindow(CWindow*);
+ virtual void resizeActiveWindow(const Vector2D&, CWindow* pWindow = nullptr);
+ virtual void fullscreenRequestForWindow(CWindow*, eFullscreenMode, bool);
+ virtual std::any layoutMessage(SLayoutMessageHeader, std::string);
+ virtual SWindowRenderLayoutHints requestRenderHints(CWindow*);
+ virtual void switchWindows(CWindow*, CWindow*);
+ virtual void alterSplitRatio(CWindow*, float, bool);
+ virtual std::string getLayoutName();
+ virtual void replaceWindowDataWith(CWindow* from, CWindow* to);
+
+ virtual void onEnable();
+ virtual void onDisable();
+
+ private:
+ std::vector<SWindowData> m_vWindowData;
+}; \ No newline at end of file