summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Karapetsas <[email protected]>2014-04-21 20:33:12 +0200
committerinfirit <[email protected]>2014-07-01 19:10:01 +0200
commita8d3d014aa25441e368d5ef6f2703f8b2a6b0f52 (patch)
tree713071d358dbb5276ecb04b51ed80f4f7d8589d9
parent475a1e88b92aa7a7013f62709cb0e29327f40422 (diff)
downloadmarco-a8d3d014aa25441e368d5ef6f2703f8b2a6b0f52.tar.bz2
marco-a8d3d014aa25441e368d5ef6f2703f8b2a6b0f52.tar.xz
Tell to GTK3 that marco support _GTK_FRAME_EXTENTS hint
Also if marco doesnt support it, but this currently fixes ugly dialog windows with GTK 3.12
-rw-r--r--src/core/atomnames.h1
-rw-r--r--src/core/screen.c1
-rw-r--r--src/core/window-props.c9
3 files changed, 11 insertions, 0 deletions
diff --git a/src/core/atomnames.h b/src/core/atomnames.h
index 756626c5..4893f270 100644
--- a/src/core/atomnames.h
+++ b/src/core/atomnames.h
@@ -70,6 +70,7 @@ item(MULTIPLE)
item(TIMESTAMP)
item(VERSION)
item(ATOM_PAIR)
+item(_GTK_FRAME_EXTENTS)
/* Oddities: These are used, and we need atoms for them,
* but when we need all _NET_WM hints (i.e. when we're making
diff --git a/src/core/screen.c b/src/core/screen.c
index f52f382c..1804df94 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -102,6 +102,7 @@ set_supported_hint (MetaScreen *screen)
#include "atomnames.h"
#undef item
#undef EWMH_ATOMS_ONLY
+ screen->display->atom__GTK_FRAME_EXTENTS,
};
XChangeProperty (screen->display->xdisplay, screen->xroot,
diff --git a/src/core/window-props.c b/src/core/window-props.c
index 08cc6630..0b51d4ba 100644
--- a/src/core/window-props.c
+++ b/src/core/window-props.c
@@ -216,6 +216,14 @@ reload_kwm_win_icon (MetaWindow *window,
}
static void
+reload_gtk_frame_extents (MetaWindow *window,
+ MetaPropValue *value,
+ gboolean initial)
+{
+ return;
+}
+
+static void
reload_struts (MetaWindow *window,
MetaPropValue *value,
gboolean initial)
@@ -1507,6 +1515,7 @@ meta_display_init_window_prop_hooks (MetaDisplay *display)
{ XA_WM_HINTS, META_PROP_VALUE_WM_HINTS, reload_wm_hints },
{ XA_WM_TRANSIENT_FOR, META_PROP_VALUE_WINDOW, reload_transient_for },
{ display->atom__NET_WM_USER_TIME_WINDOW, META_PROP_VALUE_WINDOW, reload_net_wm_user_time_window },
+ { display->atom__GTK_FRAME_EXTENTS, META_PROP_VALUE_CARDINAL_LIST, reload_gtk_frame_extents },
{ 0 },
};