Mercurial > emacs
changeset 34099:06ab9f74a16b
(x_calc_absolute_position): Don't subtract menubar's
height for YNegative.
(x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
height; also see comment there.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Fri, 01 Dec 2000 22:14:42 +0000 |
parents | deffe18d562d |
children | bdab37eba4fc |
files | src/xterm.c |
diffstat | 1 files changed, 26 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xterm.c Fri Dec 01 20:45:45 2000 +0000 +++ b/src/xterm.c Fri Dec 01 22:14:42 2000 +0000 @@ -11761,25 +11761,33 @@ - PIXEL_WIDTH (f) + f->output_data.x->left_pos); + { + int height = PIXEL_HEIGHT (f); + +#if defined USE_X_TOOLKIT && defined USE_MOTIF + /* Something is fishy here. When using Motif, starting Emacs with + `-g -0-0', the frame appears too low by a few pixels. + + This seems to be so because initially, while Emacs is starting, + the column widget's height and the frame's pixel height are + different. The column widget's height is the right one. In + later invocations, when Emacs is up, the frame's pixel height + is right, though. + + It's not obvious where the initial small difference comes from. + 2000-12-01, gerd. */ + + XtVaGetValues (f->output_data.x->column_widget, XtNheight, &height, NULL); +#endif + if (flags & YNegative) - { - int menubar_height = 0; - -#ifdef USE_X_TOOLKIT - if (f->output_data.x->menubar_widget) - menubar_height - = (f->output_data.x->menubar_widget->core.height - + f->output_data.x->menubar_widget->core.border_width); -#endif - - f->output_data.x->top_pos = (FRAME_X_DISPLAY_INFO (f)->height - - 2 * f->output_data.x->border_width - - win_y - - PIXEL_HEIGHT (f) - - menubar_height - + f->output_data.x->top_pos); - } - + f->output_data.x->top_pos = (FRAME_X_DISPLAY_INFO (f)->height + - 2 * f->output_data.x->border_width + - win_y + - height + + f->output_data.x->top_pos); + } + /* The left_pos and top_pos are now relative to the top and left screen edges, so the flags should correspond. */