[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#1289: 23.0.60; ridiculously large frame after maximizing and resizin
From: |
Chong Yidong |
Subject: |
bug#1289: 23.0.60; ridiculously large frame after maximizing and resizing back |
Date: |
Mon, 03 Nov 2008 10:41:39 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
Sven Joachim <svenjoac@gmx.de> writes:
>> 2008-10-06 Chong Yidong <cyd@stupidchicken.com>
>>
>> * gtkutil.c (x_wm_set_size_hint): Return immediately if
>> called during initialization.
>>
>> so I suggesting checking that first.
>
> Indeed, the problem goes away after reverting gtkutil.c to revision
> 1.138.
Does the following patch fix it?
*** trunk/src/xfns.c.~1.727.~ 2008-10-28 11:24:26.000000000 -0400
--- trunk/src/xfns.c 2008-11-03 10:33:55.000000000 -0500
***************
*** 3099,3104 ****
--- 3099,3118 ----
x_default_parameter (f, parms, Qfont, font, "font", "Font",
RES_TYPE_STRING);
}
+ DEFUN ("x-wm-set-size-hint", Fx_wm_set_size_hint, Sx_wm_set_size_hint,
+ 0, 1, 0,
+ doc: /* Send the size hints for frame FRAME to the window manager. */)
+ (frame)
+ Lisp_Object frame;
+ {
+ struct frame *f;
+ if (NILP (frame))
+ frame = selected_frame;
+ f = XFRAME (frame);
+ BLOCK_INPUT;
+ x_wm_set_size_hint (f, 0, 0);
+ UNBLOCK_INPUT;
+ }
DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame,
1, 1, 0,
***************
*** 5944,5949 ****
--- 5958,5964 ----
defsubr (&Sx_display_visual_class);
defsubr (&Sx_display_backing_store);
defsubr (&Sx_display_save_under);
+ defsubr (&Sx_wm_set_size_hint);
defsubr (&Sx_create_frame);
defsubr (&Sx_open_connection);
defsubr (&Sx_close_connection);
*** trunk/lisp/term/x-win.el.~1.235.~ 2008-08-30 19:54:06.000000000 -0400
--- trunk/lisp/term/x-win.el 2008-11-03 10:33:09.000000000 -0500
***************
*** 1540,1545 ****
--- 1540,1548 ----
;; Don't let Emacs suspend under X.
(add-hook 'suspend-hook 'x-win-suspend-error)
+ ;; Set wm hints after initialization
+ (add-hook 'after-init-hook 'x-wm-set-size-hint)
+
;; Turn off window-splitting optimization; X is usually fast enough
;; that this is only annoying.
(setq split-window-keep-point t)