summaryrefslogtreecommitdiff
path: root/src/layout/IHyprLayout.hpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-12 16:44:18 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-12 16:44:18 +0200
commitb6a93b2f0383fc8f084c7757f0f67b8c0ebeccc7 (patch)
tree9da15dc91a16ddbbb9c32161eda96c2be4073131 /src/layout/IHyprLayout.hpp
parent8197fded02f34e76527c0bc17cc69e4fea3cdda4 (diff)
Added window grouping for dwindle
furthermore, added LayoutRenderHints.
Diffstat (limited to 'src/layout/IHyprLayout.hpp')
-rw-r--r--src/layout/IHyprLayout.hpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/layout/IHyprLayout.hpp b/src/layout/IHyprLayout.hpp
index 3e85cc24..16414895 100644
--- a/src/layout/IHyprLayout.hpp
+++ b/src/layout/IHyprLayout.hpp
@@ -3,6 +3,11 @@
#include "../defines.hpp"
#include "../Window.hpp"
+struct SWindowRenderLayoutHints {
+ bool isBorderColor = false;
+ CColor borderColor;
+};
+
interface IHyprLayout {
public:
@@ -61,4 +66,22 @@ public:
*/
virtual void fullscreenRequestForWindow(CWindow*) = 0;
+ /*
+ Called when the user requests a window to be made into a group,
+ or when they want the group to be released.
+ Everything else is free to interpret by the layout.
+ */
+ virtual void toggleWindowGroup(CWindow*) = 0;
+
+ /*
+ Called when the user requests a group window switch
+ */
+ virtual void switchGroupWindow(CWindow*) = 0;
+
+ /*
+ Required to be handled, but may return just SWindowRenderLayoutHints()
+ Called when the renderer requests any special draw flags for
+ a specific window, e.g. border color for groups.
+ */
+ virtual SWindowRenderLayoutHints requestRenderHints(CWindow*) = 0;
}; \ No newline at end of file