[gtk+/wip/gbsneto/edge-constraints: 3/5] wayland: consider edge constraints in surface configuration
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/gbsneto/edge-constraints: 3/5] wayland: consider edge constraints in surface configuration
- Date: Fri, 18 Aug 2017 23:17:18 +0000 (UTC)
commit 65cd23f46d513b98f7642f1414c49ad11c243833
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Thu Aug 17 00:35:52 2017 -0300
wayland: consider edge constraints in surface configuration
Now that GTK windows have the ability to properly handle
per-edge tiling constraints, this patch extends GTK's
internal Wayland protocol to have a proper enum with the
relevant edge data.
Once this approach is validated, we can think of upstreaming
this work as an official Wayland protocol extension.
https://bugzilla.gnome.org/show_bug.cgi?id=783669
gdk/wayland/gdkwindow-wayland.c | 24 ++++++++++++++++++++++++
gdk/wayland/protocol/gtk-shell.xml | 11 +++++++++++
2 files changed, 35 insertions(+), 0 deletions(-)
---
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index c6ebe53..4b8229a 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -2962,6 +2962,30 @@ gtk_surface_configure (void *data,
case GTK_SURFACE1_STATE_TILED:
new_state |= GDK_WINDOW_STATE_TILED;
break;
+ case GTK_SURFACE1_EDGE_CONSTRAINT_TOP_TILED:
+ new_state |= GDK_WINDOW_STATE_TOP_TILED;
+ break;
+ case GTK_SURFACE1_EDGE_CONSTRAINT_TOP_RESIZABLE:
+ new_state |= GDK_WINDOW_STATE_TOP_RESIZABLE;
+ break;
+ case GTK_SURFACE1_EDGE_CONSTRAINT_RIGHT_TILED:
+ new_state |= GDK_WINDOW_STATE_RIGHT_TILED;
+ break;
+ case GTK_SURFACE1_EDGE_CONSTRAINT_RIGHT_RESIZABLE:
+ new_state |= GDK_WINDOW_STATE_TOP_TILED;
+ break;
+ case GTK_SURFACE1_EDGE_CONSTRAINT_BOTTOM_TILED:
+ new_state |= GDK_WINDOW_STATE_BOTTOM_TILED;
+ break;
+ case GTK_SURFACE1_EDGE_CONSTRAINT_BOTTOM_RESIZABLE:
+ new_state |= GDK_WINDOW_STATE_BOTTOM_RESIZABLE;
+ break;
+ case GTK_SURFACE1_EDGE_CONSTRAINT_LEFT_TILED:
+ new_state |= GDK_WINDOW_STATE_LEFT_TILED;
+ break;
+ case GTK_SURFACE1_EDGE_CONSTRAINT_LEFT_RESIZABLE:
+ new_state |= GDK_WINDOW_STATE_LEFT_RESIZABLE;
+ break;
default:
/* Unknown state */
break;
diff --git a/gdk/wayland/protocol/gtk-shell.xml b/gdk/wayland/protocol/gtk-shell.xml
index 5cfdd42..711a0c0 100644
--- a/gdk/wayland/protocol/gtk-shell.xml
+++ b/gdk/wayland/protocol/gtk-shell.xml
@@ -53,6 +53,17 @@
<entry name="tiled" value="1"/>
</enum>
+ <enum name="edge_constraint">
+ <entry name="top_tiled" value="2"/>
+ <entry name="top_resizable" value="3"/>
+ <entry name="right_tiled" value="4"/>
+ <entry name="right_resizable" value="5"/>
+ <entry name="bottom_tiled" value="6"/>
+ <entry name="bottom_resizable" value="7"/>
+ <entry name="left_tiled" value="8"/>
+ <entry name="left_resizable" value="9"/>
+ </enum>
+
<event name="configure">
<arg name="states" type="array"/>
</event>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]