Mercurial > emacs
changeset 12190:e0abe30899a9
[USE_X_TOOLKIT] (x_window): If using Motif,
add some extra to sizes, for consistent behavior.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Sun, 11 Jun 1995 20:27:39 +0000 |
parents | 09033eb62d7e |
children | 33e8a9ef3cab |
files | src/xfns.c |
diffstat | 1 files changed, 15 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xfns.c Sun Jun 11 20:27:12 1995 +0000 +++ b/src/xfns.c Sun Jun 11 20:27:39 1995 +0000 @@ -2500,11 +2500,13 @@ 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 @@ 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 @@ 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;