Lisp_Object Qicon_name;
Lisp_Object Qinternal_border_width;
Lisp_Object Qleft;
+Lisp_Object Qright;
Lisp_Object Qmouse_color;
Lisp_Object Qnone;
Lisp_Object Qparent_id;
struct frame *f;
Lisp_Object arg, oldval;
{
- if (NILP (arg) != ! FRAME_HAS_VERTICAL_SCROLL_BARS (f))
+ if ((EQ (arg, Qleft) && FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT (f))
+ || (EQ (arg, Qright) && FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT (f))
+ || (NILP (arg) && FRAME_HAS_VERTICAL_SCROLL_BARS (f))
+ || (!NILP (arg) && ! FRAME_HAS_VERTICAL_SCROLL_BARS (f)))
{
- FRAME_HAS_VERTICAL_SCROLL_BARS (f) = ! NILP (arg);
+ FRAME_VERTICAL_SCROLL_BAR_TYPE (f)
+ = (NILP (arg)
+ ? vertical_scroll_bar_none
+ : EQ (Qright, arg)
+ ? vertical_scroll_bar_right
+ : vertical_scroll_bar_left);
/* We set this parameter before creating the X window for the
frame, so we can get the geometry right from the start.
/* Default values if we fall through.
Actually, if that happens we should get
window manager prompting. */
- f->width = DEFAULT_COLS;
+ SET_FRAME_WIDTH (f, DEFAULT_COLS);
f->height = DEFAULT_ROWS;
/* Window managers expect that if program-specified
positions are not (0,0), they're intentional, not defaults. */
if (!EQ (tem1, Qunbound))
{
CHECK_NUMBER (tem1, 0);
- f->width = XINT (tem1);
+ SET_FRAME_WIDTH (f, XINT (tem1));
}
if (!NILP (tem2) && !EQ (tem2, Qunbound))
window_prompting |= USSize;
}
x_default_parameter (f, parms, Qinternal_border_width, make_number (2),
"internalBorderWidth", "BorderWidth", number);
- x_default_parameter (f, parms, Qvertical_scroll_bars, Qt,
+ x_default_parameter (f, parms, Qvertical_scroll_bars, Qleft,
"verticalScrollBars", "ScrollBars", boolean);
/* Also do the stuff which must be set before the window exists. */
f->height. */
width = f->width;
height = f->height;
- f->height = f->width = 0;
+ f->height = 0;
+ SET_FRAME_WIDTH (f, 0);
change_frame_size (f, height, width, 1, 0);
/* Tell the server what size and position, etc, we want,
register int line = (x_mouse_y + 1) * f->output_data.x->line_height
+ f->output_data.x->internal_border_width;
register int left = f->output_data.x->internal_border_width
- + (w->left
+ + (WINDOW_LEFT_MARGIN (w)
* FONT_WIDTH (f->output_data.x->font));
register int right = left + (w->width
* FONT_WIDTH (f->output_data.x->font))
staticpro (&Qinternal_border_width);
Qleft = intern ("left");
staticpro (&Qleft);
+ Qright = intern ("right");
+ staticpro (&Qright);
Qmouse_color = intern ("mouse-color");
staticpro (&Qmouse_color);
Qnone = intern ("none");