From 3ed0ddb242a4804cd7fcfcfcf39a47766eaa816d Mon Sep 17 00:00:00 2001 From: raveit65 Date: Sat, 10 Apr 2021 16:37:40 +0200 Subject: window: add support for _GNOME_WM_STRUT_AREA In addition to existing properties use also new _GNOME_WM_STRUT_AREA property that allows creating struts between monitors. https://mail.gnome.org/archives/wm-spec-list/2018-December/msg00000.html https://gitlab.freedesktop.org/xdg/xdg-specs/merge_requests/22 origin commit: https://gitlab.gnome.org/GNOME/metacity/commit/922de13 --- src/include/boxes.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src/include') diff --git a/src/include/boxes.h b/src/include/boxes.h index 87cc68f2..fabacb1e 100644 --- a/src/include/boxes.h +++ b/src/include/boxes.h @@ -27,6 +27,13 @@ #include #include "common.h" +typedef enum +{ + META_EDGE_WINDOW, + META_EDGE_XINERAMA, + META_EDGE_SCREEN +} MetaEdgeType; + typedef struct _MetaRectangle MetaRectangle; struct _MetaRectangle { @@ -41,6 +48,7 @@ struct _MetaStrut { MetaRectangle rect; MetaSide side; + MetaEdgeType edge; }; #define BOX_LEFT(box) ((box).x) /* Leftmost pixel of rect */ @@ -55,13 +63,6 @@ typedef enum FIXED_DIRECTION_Y = 1 << 1, } FixedDirections; -typedef enum -{ - META_EDGE_WINDOW, - META_EDGE_XINERAMA, - META_EDGE_SCREEN -} MetaEdgeType; - typedef struct _MetaEdge MetaEdge; struct _MetaEdge { @@ -158,7 +159,8 @@ void meta_rectangle_resize_with_gravity (const MetaRectangle *old_rect, */ GList* meta_rectangle_get_minimal_spanning_set_for_region ( const MetaRectangle *basic_rect, - const GSList *all_struts); + const GSList *all_struts, + gboolean skip_middle_struts); /* Expand all rectangles in region by the given amount on each side */ GList* meta_rectangle_expand_region (GList *region, -- cgit v1.2.1