From: Karl Heuer Date: Sun, 11 Jun 1995 20:27:39 +0000 (+0000) Subject: [USE_X_TOOLKIT] (x_window): If using Motif, X-Git-Tag: emacs-19.34~3669 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5031cc1076ab730893e918c002cb60e71c8511f2;p=emacs.git [USE_X_TOOLKIT] (x_window): If using Motif, add some extra to sizes, for consistent behavior. --- diff --git a/src/xfns.c b/src/xfns.c index f71c99460f4..93d6e78cf38 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -2500,11 +2500,13 @@ x_window (f, window_prompting, minibuffer_only) char *tem, shell_position[32]; Arg al[2]; int ac = 0; + int extra_borders = 0; int menubar_size = (f->display.x->menubar_widget ? (f->display.x->menubar_widget->core.height + f->display.x->menubar_widget->core.border_width) : 0); + extern char *lwlib_toolkit_type; if (FRAME_EXTERNAL_MENU_BAR (f)) { @@ -2515,6 +2517,13 @@ x_window (f, window_prompting, minibuffer_only) f->display.x->menubar_height = menubar_size; + /* Motif seems to need this amount added to the sizes + specified for the shell widget. The Athena/Lucid widgets don't. + Both conclusions reached experimentally. -- rms. */ + if (!strcmp (lwlib_toolkit_type, "motif")) + XtVaGetValues (f->display.x->edit_widget, XtNinternalBorderWidth, + &extra_borders, NULL); + /* Convert our geometry parameters into a geometry string and specify it. Note that we do not specify here whether the position @@ -2531,13 +2540,15 @@ x_window (f, window_prompting, minibuffer_only) top = -top; if (window_prompting & USPosition) - sprintf (shell_position, "=%dx%d%c%d%c%d", PIXEL_WIDTH (f), - PIXEL_HEIGHT (f) + menubar_size, + sprintf (shell_position, "=%dx%d%c%d%c%d", + PIXEL_WIDTH (f) + extra_borders, + PIXEL_HEIGHT (f) + menubar_size + extra_borders, (xneg ? '-' : '+'), left, (yneg ? '-' : '+'), top); else - sprintf (shell_position, "=%dx%d", PIXEL_WIDTH (f), - PIXEL_HEIGHT (f) + menubar_size); + sprintf (shell_position, "=%dx%d", + PIXEL_WIDTH (f) + extra_borders, + PIXEL_HEIGHT (f) + menubar_size + extra_borders); } len = strlen (shell_position) + 1;