changeset 107851:2a74858bccc0

Fix so top -10 and left -10 in frame parameters work. * gtkutil.c (xg_set_geometry): Set geometry for PPosition also. (x_wm_set_size_hint): Dont set position flags, gtk_window_parse_geometry does that.
author Jan D. <jan.h.d@swipnet.se>
date Tue, 13 Apr 2010 17:16:42 +0200
parents 686c788ffbb6
children 4abde609aac9 bf9a29f59be6
files src/ChangeLog src/gtkutil.c
diffstat 2 files changed, 6 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Tue Apr 13 10:19:05 2010 +0200
+++ b/src/ChangeLog	Tue Apr 13 17:16:42 2010 +0200
@@ -1,5 +1,9 @@
 2010-04-13  Jan Djärv  <jan.h.d@swipnet.se>
 
+	* gtkutil.c (xg_set_geometry): Set geometry for PPosition also.
+	(x_wm_set_size_hint): Dont set position flags, gtk_window_parse_geometry
+	does that.
+
 	* xfns.c (Fx_create_frame, x_create_tip_frame): Set default border width
 	to zero.
 
--- a/src/gtkutil.c	Tue Apr 13 10:19:05 2010 +0200
+++ b/src/gtkutil.c	Tue Apr 13 17:16:42 2010 +0200
@@ -529,7 +529,7 @@
 xg_set_geometry (f)
      FRAME_PTR f;
 {
-  if (f->size_hint_flags & USPosition)
+  if (f->size_hint_flags & (USPosition | PPosition))
     {
       int left = f->left_pos;
       int xneg = f->size_hint_flags & XNegative;
@@ -542,9 +542,7 @@
       if (yneg)
         top = -top;
 
-      sprintf (geom_str, "=%dx%d%c%d%c%d",
-               FRAME_PIXEL_WIDTH (f),
-               FRAME_TOTAL_PIXEL_HEIGHT (f),
+      sprintf (geom_str, "%c%d%c%d",
                (xneg ? '-' : '+'), left,
                (yneg ? '-' : '+'), top);
 
@@ -552,9 +550,6 @@
                                       geom_str))
         fprintf (stderr, "Failed to parse: '%s'\n", geom_str);
     }
-  else if (f->size_hint_flags & PPosition)
-    gtk_window_move (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
-                     f->left_pos, f->top_pos);
 }
 
 /* Clear under internal border if any.  As we use a mix of Gtk+ and X calls
@@ -956,16 +951,6 @@
   else if (win_gravity == StaticGravity)
     size_hints.win_gravity = GDK_GRAVITY_STATIC;
 
-  if (flags & PPosition) hint_flags |= GDK_HINT_POS;
-  if (flags & USPosition) hint_flags |= GDK_HINT_USER_POS;
-  if (flags & USSize) hint_flags |= GDK_HINT_USER_SIZE;
-
-  if (user_position)
-    {
-      hint_flags &= ~GDK_HINT_POS;
-      hint_flags |= GDK_HINT_USER_POS;
-    }
-
   if (hint_flags != f->output_data.x->hint_flags
       || memcmp (&size_hints,
 		 &f->output_data.x->size_hints,