emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r113988: * gtkutil.c (x_wm_set_size_hint): Don't set


From: Jan D.
Subject: [Emacs-diffs] trunk r113988: * gtkutil.c (x_wm_set_size_hint): Don't set hints when maximized
Date: Sat, 24 Aug 2013 08:43:38 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 113988
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/14627
committer: Jan D. <address@hidden>
branch nick: trunk
timestamp: Sat 2013-08-24 10:43:36 +0200
message:
  * gtkutil.c (x_wm_set_size_hint): Don't set hints when maximized
  or fullscreen.
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/gtkutil.c                  gtkutil.c-20091113204419-o5vbwnq5f7feedwu-2527
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2013-08-24 02:23:34 +0000
+++ b/src/ChangeLog     2013-08-24 08:43:36 +0000
@@ -1,3 +1,8 @@
+2013-08-24  Jan Djärv  <address@hidden>
+
+       * gtkutil.c (x_wm_set_size_hint): Don't set hints when maximized
+       or fullscreen (Bug#14627).
+
 2013-08-24  Paul Eggert  <address@hidden>
 
        System-dependent integer overflow fixes.

=== modified file 'src/gtkutil.c'
--- a/src/gtkutil.c     2013-08-11 01:30:20 +0000
+++ b/src/gtkutil.c     2013-08-24 08:43:36 +0000
@@ -1341,6 +1341,7 @@
   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 @@
   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));


reply via email to

[Prev in Thread] Current Thread [Next in Thread]