From: Jan Djärv Date: Sat, 24 Aug 2013 08:43:36 +0000 (+0200) Subject: * gtkutil.c (x_wm_set_size_hint): Don't set hints when maximized X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~1686^2~135 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6e1b469ee2c44797e9f7922366d069e0f924cc63;p=emacs.git * gtkutil.c (x_wm_set_size_hint): Don't set hints when maximized or fullscreen. Fixes: debbugs:14627 --- diff --git a/src/ChangeLog b/src/ChangeLog index 3eccf6ff557..8e5eedd445c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2013-08-24 Jan Djärv + + * gtkutil.c (x_wm_set_size_hint): Don't set hints when maximized + or fullscreen (Bug#14627). + 2013-08-24 Paul Eggert System-dependent integer overflow fixes. diff --git a/src/gtkutil.c b/src/gtkutil.c index 7e304d417d8..8e255ac4bfb 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));