XtSetArg (al[ac], XtNallowShellResize, 1); ac++;
XtSetArg (al[ac], XtNinput, 1); ac++;
XtSetArg (al[ac], XtNmappedWhenManaged, 0); ac++;
+ XtSetArg (al[ac], XtNborderWidth, f->display.x->border_width); ac++;
shell_widget = XtAppCreateShell (f->namebuf, EMACS_CLASS,
topLevelShellWidgetClass,
FRAME_X_DISPLAY (f), al, ac);
menubar_size += ibw;
}
+ f->display.x->menubar_height = menubar_size;
+
/* Convert our geometry parameters into a geometry string
and specify it.
Note that we do not specify here whether the position
XtSetValues (shell_widget, al, ac);
}
- x_calc_absolute_position (f);
-
XtManageChild (pane_widget);
XtRealizeWidget (shell_widget);
XDefineCursor (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f),
f->display.x->text_cursor);
- /* If we have a program-specified position, communicate it to
- the window manager thus. */
- if (FRAME_X_WINDOW (f))
- XMoveWindow (FRAME_X_DISPLAY (f), XtWindow (f->display.x->widget),
- f->display.x->left_pos, f->display.x->top_pos);
-
UNBLOCK_INPUT;
if (FRAME_X_WINDOW (f) == 0)
class_hints.res_class = EMACS_CLASS;
XSetClassHint (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), &class_hints);
+ /* The menubar is part of the ordinary display;
+ it does not count in addition to the height of the window. */
+ f->display.x->menubar_height = 0;
+
/* This indicates that we use the "Passive Input" input model.
Unless we do this, we don't get the Focus{In,Out} events that we
need to draw the cursor correctly. Accursed bureaucrats.