comparison src/gtkutil.c @ 107891:bf5fce1e8e34

Set USER_POS in hint_flags to work around Cygwin problem. gtkutil.c (xg_set_geometry): Set size in geometry string also. (x_wm_set_size_hint): Set USER_POS in hint_flags (Bug#5968).
author Jan D. <jan.h.d@swipnet.se>
date Sun, 18 Apr 2010 13:24:59 +0200
parents 2a74858bccc0
children d94009e7a0cc
comparison
equal deleted inserted replaced
107890:b2e098d47dff 107891:bf5fce1e8e34
540 if (xneg) 540 if (xneg)
541 left = -left; 541 left = -left;
542 if (yneg) 542 if (yneg)
543 top = -top; 543 top = -top;
544 544
545 sprintf (geom_str, "%c%d%c%d", 545 sprintf (geom_str, "=%dx%d%c%d%c%d",
546 FRAME_PIXEL_WIDTH (f),
547 FRAME_PIXEL_HEIGHT (f),
546 (xneg ? '-' : '+'), left, 548 (xneg ? '-' : '+'), left,
547 (yneg ? '-' : '+'), top); 549 (yneg ? '-' : '+'), top);
548 550
549 if (!gtk_window_parse_geometry (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), 551 if (!gtk_window_parse_geometry (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
550 geom_str)) 552 geom_str))
948 size_hints.win_gravity = GDK_GRAVITY_SOUTH; 950 size_hints.win_gravity = GDK_GRAVITY_SOUTH;
949 else if (win_gravity == SouthEastGravity) 951 else if (win_gravity == SouthEastGravity)
950 size_hints.win_gravity = GDK_GRAVITY_SOUTH_EAST; 952 size_hints.win_gravity = GDK_GRAVITY_SOUTH_EAST;
951 else if (win_gravity == StaticGravity) 953 else if (win_gravity == StaticGravity)
952 size_hints.win_gravity = GDK_GRAVITY_STATIC; 954 size_hints.win_gravity = GDK_GRAVITY_STATIC;
955
956 if (user_position)
957 {
958 hint_flags &= ~GDK_HINT_POS;
959 hint_flags |= GDK_HINT_USER_POS;
960 }
953 961
954 if (hint_flags != f->output_data.x->hint_flags 962 if (hint_flags != f->output_data.x->hint_flags
955 || memcmp (&size_hints, 963 || memcmp (&size_hints,
956 &f->output_data.x->size_hints, 964 &f->output_data.x->size_hints,
957 sizeof (size_hints)) != 0) 965 sizeof (size_hints)) != 0)