mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-22 12:33:53 -08:00
(Fx_create_frame): Default Qvertical_scroll_bars to `left'.
Add the symbol `right'; this symbol is used to indicate that a right-side scroll bar is wanted. (x_set_vertical_scroll_bars): Check for left<->right<->none scroll bar changes, and modify the vertical scroll bar type as appropriate. (x_figure_window_size): Use new SET_FRAME_WIDTH macro. (Fx_create_frame): Likewise. (Fx_horizontal_line): Use new macro WINDOW_LEFT_MARGIN.
This commit is contained in:
parent
c8738c33c5
commit
1ab3d87e2f
1 changed files with 19 additions and 7 deletions
26
src/xfns.c
26
src/xfns.c
|
|
@ -179,6 +179,7 @@ Lisp_Object Qicon_type;
|
|||
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;
|
||||
|
|
@ -1939,9 +1940,17 @@ x_set_vertical_scroll_bars (f, arg, oldval)
|
|||
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.
|
||||
|
|
@ -2354,7 +2363,7 @@ x_figure_window_size (f, parms)
|
|||
/* 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. */
|
||||
|
|
@ -2374,7 +2383,7 @@ x_figure_window_size (f, parms)
|
|||
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;
|
||||
|
|
@ -3195,7 +3204,7 @@ This function is an internal primitive--use `make-frame' instead.")
|
|||
}
|
||||
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. */
|
||||
|
|
@ -3265,7 +3274,8 @@ This function is an internal primitive--use `make-frame' instead.")
|
|||
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,
|
||||
|
|
@ -4374,7 +4384,7 @@ DEFUN ("x-horizontal-line", Fx_horizontal_line, Sx_horizontal_line, 1, 1, "e",
|
|||
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))
|
||||
|
|
@ -5074,6 +5084,8 @@ syms_of_xfns ()
|
|||
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");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue