summaryrefslogtreecommitdiff
path: root/src/gtkutil.c
diff options
context:
space:
mode:
authorJan Djärv <jan.h.d@swipnet.se>2013-08-24 10:43:36 +0200
committerJan Djärv <jan.h.d@swipnet.se>2013-08-24 10:43:36 +0200
commit6e1b469ee2c44797e9f7922366d069e0f924cc63 (patch)
tree53cefb1ef1d7033860cb9bee890b08c33ada9231 /src/gtkutil.c
parent9c05bccfb9cd29ab66b5c46643467671315a0f29 (diff)
* gtkutil.c (x_wm_set_size_hint): Don't set hints when maximized
or fullscreen. Fixes: debbugs:14627
Diffstat (limited to 'src/gtkutil.c')
-rw-r--r--src/gtkutil.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gtkutil.c b/src/gtkutil.c
index 7e304d417d..8e255ac4bf 100644
--- a/src/gtkutil.c
+++ b/src/gtkutil.c
@@ -1341,6 +1341,7 @@ x_wm_set_size_hint (struct frame *f, long int flags, bool user_position)
int base_width, base_height;
int min_rows = 0, min_cols = 0;
int win_gravity = f->win_gravity;
+ Lisp_Object fs_state, frame;
/* Don't set size hints during initialization; that apparently leads
to a race condition. See the thread at
@@ -1348,6 +1349,16 @@ x_wm_set_size_hint (struct frame *f, long int flags, bool user_position)
if (NILP (Vafter_init_time) || !FRAME_GTK_OUTER_WIDGET (f))
return;
+ XSETFRAME (frame, f);
+ fs_state = Fframe_parameter (frame, Qfullscreen);
+ if (EQ (fs_state, Qmaximized) || EQ (fs_state, Qfullboth))
+ {
+ /* Don't set hints when maximized or fullscreen. Apparently KWin and
+ Gtk3 don't get along and the frame shrinks (!).
+ */
+ return;
+ }
+
if (flags)
{
memset (&size_hints, 0, sizeof (size_hints));