mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-25 23:10:47 -08:00
(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.
This commit is contained in:
parent
447e9da0fa
commit
7708ced012
2 changed files with 29 additions and 16 deletions
|
|
@ -1,5 +1,10 @@
|
|||
2000-12-01 Gerd Moellmann <gerd@gnu.org>
|
||||
|
||||
* xterm.c (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.
|
||||
|
||||
* window.c (coordinates_in_window): Handle computations for
|
||||
positions on the vertical bar and fringes differently for
|
||||
window-system frames. Consider some pixels near the vertical bar
|
||||
|
|
|
|||
40
src/xterm.c
40
src/xterm.c
|
|
@ -11761,25 +11761,33 @@ x_calc_absolute_position (f)
|
|||
- PIXEL_WIDTH (f)
|
||||
+ f->output_data.x->left_pos);
|
||||
|
||||
if (flags & YNegative)
|
||||
{
|
||||
int menubar_height = 0;
|
||||
{
|
||||
int height = PIXEL_HEIGHT (f);
|
||||
|
||||
#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);
|
||||
#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
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
if (flags & YNegative)
|
||||
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. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue