Mercurial > emacs
diff src/gtkutil.c @ 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 | 07507204ac6f |
children | bf5fce1e8e34 |
line wrap: on
line diff
--- 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,