Remove unused code and reformat to 70 columns.

This commit is contained in:
Juri Linkov 2019-10-01 23:01:08 +03:00
parent 457a7edb47
commit 3f981a0a89
20 changed files with 134 additions and 248 deletions

View file

@ -1348,8 +1348,8 @@ button. @xref{Repeat Events}.
@var{position} slot of a click event, you should typically use the
functions documented in @ref{Accessing Mouse}. The explicit format of
the list depends on where the click occurred. For clicks in the text
area, mode line, header line, tab line, or in the fringe or marginal areas, the
mouse position list has the form
area, mode line, header line, tab line, or in the fringe or marginal
areas, the mouse position list has the form
@example
(@var{window} @var{pos-or-area} (@var{x} . @var{y}) @var{timestamp}
@ -1368,8 +1368,9 @@ The window in which the click occurred.
The buffer position of the character clicked on in the text area; or,
if the click was outside the text area, the window area where it
occurred. It is one of the symbols @code{mode-line},
@code{header-line}, @code{tab-line}, @code{vertical-line}, @code{left-margin},
@code{right-margin}, @code{left-fringe}, or @code{right-fringe}.
@code{header-line}, @code{tab-line}, @code{vertical-line},
@code{left-margin}, @code{right-margin}, @code{left-fringe}, or
@code{right-fringe}.
In one special case, @var{pos-or-area} is a list containing a symbol
(one of the symbols listed above) instead of just the symbol. This
@ -1380,12 +1381,12 @@ by Emacs. @xref{Key Sequence Input}.
The relative pixel coordinates of the click. For clicks in the text
area of a window, the coordinate origin @code{(0 . 0)} is taken to be
the top left corner of the text area. @xref{Window Sizes}. For
clicks in a mode line, header line or tab line, the coordinate origin is the top
left corner of the window itself. For fringes, margins, and the
vertical border, @var{x} does not have meaningful data. For fringes
and margins, @var{y} is relative to the bottom edge of the header
line. In all cases, the @var{x} and @var{y} coordinates increase
rightward and downward respectively.
clicks in a mode line, header line or tab line, the coordinate origin
is the top left corner of the window itself. For fringes, margins,
and the vertical border, @var{x} does not have meaningful data.
For fringes and margins, @var{y} is relative to the bottom edge of the
header line. In all cases, the @var{x} and @var{y} coordinates
increase rightward and downward respectively.
@item @var{timestamp}
The time at which the event occurred, as an integer number of
@ -1407,18 +1408,18 @@ The position in the string where the click occurred.
@item @var{text-pos}
For clicks on a marginal area or on a fringe, this is the buffer
position of the first visible character in the corresponding line in
the window. For clicks on the mode line, the header line or the tab line, this is
@code{nil}. For other events, it is the buffer position closest to
the click.
the window. For clicks on the mode line, the header line or the tab
line, this is @code{nil}. For other events, it is the buffer position
closest to the click.
@item @var{col}, @var{row}
These are the actual column and row coordinate numbers of the glyph
under the @var{x}, @var{y} position. If @var{x} lies beyond the last
column of actual text on its line, @var{col} is reported by adding
fictional extra columns that have the default character width. Row 0
is taken to be the header line if the window has one, or Row 1
if the window also has the tab line, or the topmost
row of the text area otherwise. Column 0 is taken to be the leftmost
fictional extra columns that have the default character width.
Row 0 is taken to be the header line if the window has one, or Row 1
if the window also has the tab line, or the topmost row of
the text area otherwise. Column 0 is taken to be the leftmost
column of the text area for clicks on a window text area, or the
leftmost mode line or header line column for clicks there. For clicks
on fringes or vertical borders, these have no meaningful data. For
@ -2095,7 +2096,8 @@ computed values.)
Note that @var{row} is counted from the top of the text area. If the
window given by @var{position} possesses a header line (@pxref{Header
Lines}) or a tab line, they are @emph{not} included in the @var{row} count.
Lines}) or a tab line, they are @emph{not} included in the @var{row}
count.
@end defun
@defun posn-actual-col-row position

View file

@ -1885,7 +1885,7 @@ good replacement, even in very large source files.
** 'tab-bar-mode' enables the tab-bar at the top of each frame,
to switch named persistent window configurations in it using tabs.
New tab-based keybindings (similar to frame-based):
New tab-based keybindings (similar to frame-based commands):
'C-x 6 2' creates a new tab;
'C-x 6 0' deletes the current tab;
'C-x 6 b' switches to buffer in another tab;
@ -1897,7 +1897,7 @@ Also it's possible to switch named persistent window configurations
without having graphical access to the tab-bar, even on a tty
or when 'tab-bar-mode' is disabled, with these commands:
'tab-new' creates a new window configuration;
'tab-delete' deletes the current window configuration;
'tab-close' deletes the current window configuration;
'tab-select' switches to the window configuration by its name;
'tab-previous' switches to the previous window configuration;
'tab-next' switches to the next window configuration;

View file

@ -591,7 +591,6 @@ since it could result in memory overflow and make Emacs crash."
(const :tag "Text-image-horiz" :value text-image-horiz)
(const :tag "System default" :value nil)) "24.1")
(tool-bar-max-label-size frames integer "24.1")
(tab-bar-max-label-size frames integer "27.1")
(auto-hscroll-mode scrolling
(choice
(const :tag "Don't scroll automatically"

View file

@ -731,9 +731,7 @@ It is the default value of the variable `top-level'."
("--background-color" . "-bg")
("--color" . "-color")))
(defconst tab-bar-images-pixel-height 18
"Height in pixels of images in the tab-bar.")
;; FIXME: this var unused?
(defconst tool-bar-images-pixel-height 24
"Height in pixels of images in the tool-bar.")

View file

@ -488,7 +488,7 @@ specified by `tab-bar-close-tab-select'."
(unless tab-bar-mode
(message "Added new tab with the current window configuration")))
(defun tab-delete ()
(defun tab-close ()
"Delete the current window configuration without clicking a close button."
(interactive)
(tab-bar-close-current-tab)

View file

@ -3200,48 +3200,17 @@ enum tab_bar_item_idx
/* Caption. */
TAB_BAR_ITEM_CAPTION,
/* Image(s) to display. This is either a single image specification
or a vector of specifications. */
TAB_BAR_ITEM_IMAGES,
/* The binding. */
TAB_BAR_ITEM_BINDING,
/* Button type. One of nil (default button), t (a separator),
`:radio', or `:toggle'. The latter two currently do nothing. */
TAB_BAR_ITEM_TYPE,
/* Help string. */
TAB_BAR_ITEM_HELP,
/* Icon file name of right to left image when an RTL locale is used. */
TAB_BAR_ITEM_RTL_IMAGE,
/* Label to show when text labels are enabled. */
TAB_BAR_ITEM_LABEL,
/* If we shall show the label only below the icon and not beside it. */
TAB_BAR_ITEM_VERT_ONLY,
/* Sentinel = number of slots in tab_bar_items occupied by one
tab-bar item. */
TAB_BAR_ITEM_NSLOTS
};
/* An enumeration for the different images that can be specified
for a tab-bar item. */
enum tab_bar_item_image
{
TAB_BAR_IMAGE_ENABLED_SELECTED,
TAB_BAR_IMAGE_ENABLED_DESELECTED,
TAB_BAR_IMAGE_DISABLED_SELECTED,
TAB_BAR_IMAGE_DISABLED_DESELECTED
};
#define DEFAULT_TAB_BAR_LABEL_SIZE 14
/* Default values of the above variables. */
#define DEFAULT_TAB_BAR_BUTTON_MARGIN 4

View file

@ -456,8 +456,10 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
|| (row == matrix->rows + dim.height - 1
&& window_wants_mode_line (w))
|| (row == matrix->rows && matrix->tab_line_p)
|| (row == matrix->rows && !matrix->tab_line_p && matrix->header_line_p)
|| (row == (matrix->rows + 1) && matrix->tab_line_p && matrix->header_line_p))
|| (row == matrix->rows
&& !matrix->tab_line_p && matrix->header_line_p)
|| (row == (matrix->rows + 1)
&& matrix->tab_line_p && matrix->header_line_p))
{
row->glyphs[TEXT_AREA]
= row->glyphs[LEFT_MARGIN_AREA];
@ -504,8 +506,10 @@ adjust_glyph_matrix (struct window *w, struct glyph_matrix *matrix, int x, int y
if ((row == matrix->rows + dim.height - 1
&& !(w && window_wants_mode_line (w)))
|| (row == matrix->rows && matrix->tab_line_p)
|| (row == matrix->rows && !matrix->tab_line_p && matrix->header_line_p)
|| (row == (matrix->rows + 1) && matrix->tab_line_p && matrix->header_line_p))
|| (row == matrix->rows
&& !matrix->tab_line_p && matrix->header_line_p)
|| (row == (matrix->rows + 1)
&& matrix->tab_line_p && matrix->header_line_p))
{
row->glyphs[TEXT_AREA]
= row->glyphs[LEFT_MARGIN_AREA];
@ -3550,7 +3554,8 @@ update_window (struct window *w, bool force_p)
/* Try reusing part of the display by copying. */
if (row < end && !desired_matrix->no_scrolling_p)
{
int rc = scrolling_window (w, (tab_line_row != NULL ? 1 : 0) + (header_line_row != NULL ? 1 : 0));
int rc = scrolling_window (w, (tab_line_row != NULL ? 1 : 0)
+ (header_line_row != NULL ? 1 : 0));
if (rc < 0)
{
/* All rows were found to be equal. */
@ -5428,7 +5433,8 @@ buffer_posn_from_coords (struct window *w, int *x, int *y, struct display_pos *p
start position, i.e. it excludes the header-line row, but
MATRIX_ROW includes the header-line row. Adjust for a possible
header-line row. */
it_vpos = it.vpos + window_wants_header_line (w) + window_wants_tab_line (w);
it_vpos = it.vpos + window_wants_header_line (w)
+ window_wants_tab_line (w);
if (it_vpos < w->current_matrix->nrows
&& (row = MATRIX_ROW (w->current_matrix, it_vpos),
row->enabled_p))
@ -5675,7 +5681,8 @@ handle_window_change_signal (int sig)
structures now. Let that be done later outside of the
signal handler. */
change_frame_size (XFRAME (frame), width,
height - FRAME_MENU_BAR_LINES (XFRAME (frame)) - FRAME_TAB_BAR_LINES (XFRAME (frame)),
height - FRAME_MENU_BAR_LINES (XFRAME (frame))
- FRAME_TAB_BAR_LINES (XFRAME (frame)),
0, 1, 0, 0);
}
}
@ -6355,7 +6362,8 @@ init_display_interactive (void)
change_frame_size (XFRAME (selected_frame),
FrameCols (t->display_info.tty),
FrameRows (t->display_info.tty)
- FRAME_MENU_BAR_LINES (f) - FRAME_TAB_BAR_LINES (f), 0, 0, 1, 0);
- FRAME_MENU_BAR_LINES (f)
- FRAME_TAB_BAR_LINES (f), 0, 0, 1, 0);
/* Delete the initial terminal. */
if (--initial_terminal->reference_count == 0

View file

@ -1191,10 +1191,12 @@ make_terminal_frame (struct terminal *terminal)
FRAME_MENU_BAR_LINES (f) = NILP (Vmenu_bar_mode) ? 0 : 1;
FRAME_TAB_BAR_LINES (f) = NILP (Vtab_bar_mode) ? 0 : 1;
FRAME_LINES (f) = FRAME_LINES (f) - FRAME_MENU_BAR_LINES (f) - FRAME_TAB_BAR_LINES (f);
FRAME_LINES (f) = FRAME_LINES (f) - FRAME_MENU_BAR_LINES (f)
- FRAME_TAB_BAR_LINES (f);
FRAME_MENU_BAR_HEIGHT (f) = FRAME_MENU_BAR_LINES (f) * FRAME_LINE_HEIGHT (f);
FRAME_TAB_BAR_HEIGHT (f) = FRAME_TAB_BAR_LINES (f) * FRAME_LINE_HEIGHT (f);
FRAME_TEXT_HEIGHT (f) = FRAME_TEXT_HEIGHT (f) - FRAME_MENU_BAR_HEIGHT (f) - FRAME_TAB_BAR_HEIGHT (f);
FRAME_TEXT_HEIGHT (f) = FRAME_TEXT_HEIGHT (f) - FRAME_MENU_BAR_HEIGHT (f)
- FRAME_TAB_BAR_HEIGHT (f);
/* Set the top frame to the newly created frame. */
if (FRAMEP (FRAME_TTY (f)->top_frame)
@ -1316,7 +1318,8 @@ affects all frames on the same terminal device. */)
{
int width, height;
get_tty_size (fileno (FRAME_TTY (f)->input), &width, &height);
adjust_frame_size (f, width, height - FRAME_MENU_BAR_LINES (f) - FRAME_TAB_BAR_LINES (f),
adjust_frame_size (f, width, height - FRAME_MENU_BAR_LINES (f)
- FRAME_TAB_BAR_LINES (f),
5, 0, Qterminal_frame);
}
@ -3444,23 +3447,6 @@ to `frame-height'). */)
return make_fixnum (FRAME_TOTAL_LINES (f));
}
DEFUN ("tab-bar-pixel-width", Ftab_bar_pixel_width,
Stab_bar_pixel_width, 0, 1, 0,
doc: /* Return width in pixels of FRAME's tab bar.
The result is greater than zero only when the tab bar is on the left
or right side of FRAME. If FRAME is omitted or nil, the selected frame
is used. */)
(Lisp_Object frame)
{
#ifdef FRAME_TABBAR_WIDTH
struct frame *f = decode_any_frame (frame);
if (FRAME_WINDOW_P (f))
return make_fixnum (FRAME_TABBAR_WIDTH (f));
#endif
return make_fixnum (0);
}
DEFUN ("tool-bar-pixel-width", Ftool_bar_pixel_width,
Stool_bar_pixel_width, 0, 1, 0,
doc: /* Return width in pixels of FRAME's tool bar.
@ -5464,8 +5450,8 @@ On Nextstep, this just calls `ns-parse-geometry'. */)
#define DEFAULT_COLS 80
long
gui_figure_window_size (struct frame *f, Lisp_Object parms, bool tabbar_p, bool toolbar_p,
int *x_width, int *x_height)
gui_figure_window_size (struct frame *f, Lisp_Object parms, bool tabbar_p,
bool toolbar_p, int *x_width, int *x_height)
{
Lisp_Object height, width, user_size, top, left, user_position;
long window_prompting = 0;
@ -6425,7 +6411,6 @@ iconify the top level frame instead. */);
defsubr (&Sframe_internal_border_width);
defsubr (&Sright_divider_width);
defsubr (&Sbottom_divider_width);
defsubr (&Stab_bar_pixel_width);
defsubr (&Stool_bar_pixel_width);
defsubr (&Sset_frame_height);
defsubr (&Sset_frame_width);

View file

@ -634,7 +634,8 @@ draw_fringe_bitmap_1 (struct window *w, struct glyph_row *row, int left_p, int o
/* Clear left fringe if no bitmap to draw or if bitmap doesn't fill
the fringe. */
p.bx = -1;
header_line_height = WINDOW_TAB_LINE_HEIGHT (w) + WINDOW_HEADER_LINE_HEIGHT (w);
header_line_height = WINDOW_TAB_LINE_HEIGHT (w)
+ WINDOW_HEADER_LINE_HEIGHT (w);
p.by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, row->y));
p.ny = row->visible_height;
if (left_p)
@ -1091,7 +1092,8 @@ update_window_fringes (struct window *w, bool keep_current_p)
struct glyph_row *row1;
int top_ind_max_y;
top_ind_min_y = WINDOW_TAB_LINE_HEIGHT (w) + WINDOW_HEADER_LINE_HEIGHT (w);
top_ind_min_y = WINDOW_TAB_LINE_HEIGHT (w)
+ WINDOW_HEADER_LINE_HEIGHT (w);
top_ind_max_y = top_ind_min_y + fb->height;
if (top_ind_max_y > yb)
top_ind_max_y = yb;
@ -1148,8 +1150,10 @@ update_window_fringes (struct window *w, bool keep_current_p)
bot_ind_max_y = row->y + row->visible_height;
bot_ind_min_y = bot_ind_max_y - fb->height;
if (bot_ind_min_y < WINDOW_TAB_LINE_HEIGHT (w) + WINDOW_HEADER_LINE_HEIGHT (w))
bot_ind_min_y = WINDOW_TAB_LINE_HEIGHT (w) + WINDOW_HEADER_LINE_HEIGHT (w);
if (bot_ind_min_y < WINDOW_TAB_LINE_HEIGHT (w)
+ WINDOW_HEADER_LINE_HEIGHT (w))
bot_ind_min_y = WINDOW_TAB_LINE_HEIGHT (w)
+ WINDOW_HEADER_LINE_HEIGHT (w);
for (y = row->y, rn = bot_ind_rn - 1;
y >= bot_ind_min_y && rn >= 0;

View file

@ -951,8 +951,8 @@ xg_frame_set_char_size (struct frame *f, int width, int height)
Lisp_Object fullscreen = get_frame_param (f, Qfullscreen);
gint gwidth, gheight;
int totalheight
= pixelheight + FRAME_TOOLBAR_HEIGHT (f) + FRAME_TABBAR_HEIGHT (f) + FRAME_MENUBAR_HEIGHT (f);
int totalwidth = pixelwidth + FRAME_TABBAR_WIDTH (f) + FRAME_TOOLBAR_WIDTH (f);
= pixelheight + FRAME_TOOLBAR_HEIGHT (f) + FRAME_MENUBAR_HEIGHT (f);
int totalwidth = pixelwidth + FRAME_TOOLBAR_WIDTH (f);
if (FRAME_PIXEL_HEIGHT (f) == 0)
return;
@ -1437,9 +1437,9 @@ x_wm_set_size_hint (struct frame *f, long int flags, bool user_position)
/* Use one row/col here so base_height/width does not become zero.
Gtk+ and/or Unity on Ubuntu 12.04 can't handle it.
Obviously this makes the row/col value displayed off by 1. */
base_width = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, 1) + FRAME_TABBAR_WIDTH (f) + FRAME_TOOLBAR_WIDTH (f);
base_width = FRAME_TEXT_COLS_TO_PIXEL_WIDTH (f, 1) + FRAME_TOOLBAR_WIDTH (f);
base_height = FRAME_TEXT_LINES_TO_PIXEL_HEIGHT (f, 1)
+ FRAME_MENUBAR_HEIGHT (f) + FRAME_TABBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f);
+ FRAME_MENUBAR_HEIGHT (f) + FRAME_TOOLBAR_HEIGHT (f);
size_hints.base_width = base_width;
size_hints.base_height = base_height;

View file

@ -2385,7 +2385,8 @@ read_char (int commandflag, Lisp_Object map,
if (used_mouse_menu
/* Also check was_disabled so last-nonmenu-event won't return
a bad value when submenus are involved. (Bug#447) */
&& (EQ (c, Qtool_bar) || EQ (c, Qtab_bar) || EQ (c, Qmenu_bar) || was_disabled))
&& (EQ (c, Qtool_bar) || EQ (c, Qtab_bar) || EQ (c, Qmenu_bar)
|| was_disabled))
*used_mouse_menu = true;
goto reread_for_input_method;
@ -5043,14 +5044,15 @@ make_lispy_position (struct frame *f, Lisp_Object x, Lisp_Object y,
/* For mode line and header line clicks, return X, Y relative to
the left window edge. Use mode_line_string to look for a
string on the click position. */
else if (part == ON_MODE_LINE || part == ON_TAB_LINE || part == ON_HEADER_LINE)
else if (part == ON_MODE_LINE || part == ON_TAB_LINE
|| part == ON_HEADER_LINE)
{
Lisp_Object string;
ptrdiff_t charpos;
posn = (part == ON_MODE_LINE ? Qmode_line
: (part == ON_TAB_LINE ? Qtab_line
: Qheader_line));
: (part == ON_TAB_LINE ? Qtab_line
: Qheader_line));
/* Note that mode_line_string takes COL, ROW as pixels and
converts them to characters. */
@ -8115,7 +8117,6 @@ parse_tab_bar_item (Lisp_Object key, Lisp_Object item)
Lisp_Object filter = Qnil;
Lisp_Object caption;
int i;
bool have_label = false;
/* Definition looks like `(menu-item CAPTION BINDING PROPS...)'.
Rule out items that aren't lists, don't start with
@ -8164,12 +8165,6 @@ parse_tab_bar_item (Lisp_Object key, Lisp_Object item)
{
if (menu_separator_name_p (SSDATA (caption)))
{
set_prop_tab_bar (TAB_BAR_ITEM_TYPE, Qt);
/* If we use build_desired_tab_bar_string to render the
tab bar, the separator is rendered as an image. */
set_prop_tab_bar (TAB_BAR_ITEM_IMAGES,
(menu_item_eval_property
(Vtab_bar_separator_image_expression)));
set_prop_tab_bar (TAB_BAR_ITEM_ENABLED_P, Qnil);
set_prop_tab_bar (TAB_BAR_ITEM_SELECTED_P, Qnil);
set_prop_tab_bar (TAB_BAR_ITEM_CAPTION, Qnil);
@ -8212,17 +8207,6 @@ parse_tab_bar_item (Lisp_Object key, Lisp_Object item)
else if (EQ (ikey, QChelp))
/* `:help HELP-STRING'. */
set_prop_tab_bar (TAB_BAR_ITEM_HELP, value);
else if (EQ (ikey, QCvert_only))
/* `:vert-only t/nil'. */
set_prop_tab_bar (TAB_BAR_ITEM_VERT_ONLY, value);
else if (EQ (ikey, QClabel))
{
const char *bad_label = "!!?GARBLED ITEM?!!";
/* `:label LABEL-STRING'. */
set_prop_tab_bar (TAB_BAR_ITEM_LABEL,
STRINGP (value) ? value : build_string (bad_label));
have_label = true;
}
else if (EQ (ikey, QCfilter))
/* ':filter FORM'. */
filter = value;
@ -8236,64 +8220,8 @@ parse_tab_bar_item (Lisp_Object key, Lisp_Object item)
if (EQ (type, QCtoggle) || EQ (type, QCradio))
{
set_prop_tab_bar (TAB_BAR_ITEM_SELECTED_P, selected);
set_prop_tab_bar (TAB_BAR_ITEM_TYPE, type);
}
}
else if (EQ (ikey, QCimage)
&& (CONSP (value)
|| (VECTORP (value) && ASIZE (value) == 4)))
/* Value is either a single image specification or a vector
of 4 such specifications for the different button states. */
set_prop_tab_bar (TAB_BAR_ITEM_IMAGES, value);
else if (EQ (ikey, QCrtl))
/* ':rtl STRING' */
set_prop_tab_bar (TAB_BAR_ITEM_RTL_IMAGE, value);
}
if (!have_label)
{
/* Try to make one from caption and key. */
Lisp_Object tkey = PROP (TAB_BAR_ITEM_KEY);
Lisp_Object tcapt = PROP (TAB_BAR_ITEM_CAPTION);
const char *label = SYMBOLP (tkey) ? SSDATA (SYMBOL_NAME (tkey)) : "";
const char *capt = STRINGP (tcapt) ? SSDATA (tcapt) : "";
ptrdiff_t max_lbl_size =
2 * max (0, min (tab_bar_max_label_size, STRING_BYTES_BOUND / 2)) + 1;
char *buf = xmalloc (max_lbl_size);
Lisp_Object new_lbl;
ptrdiff_t caption_len = strnlen (capt, max_lbl_size);
if (0 < caption_len && caption_len < max_lbl_size)
{
strcpy (buf, capt);
while (caption_len > 0 && buf[caption_len - 1] == '.')
caption_len--;
buf[caption_len] = '\0';
label = capt = buf;
}
ptrdiff_t label_len = strnlen (label, max_lbl_size);
if (0 < label_len && label_len < max_lbl_size)
{
ptrdiff_t j;
if (label != buf)
strcpy (buf, label);
for (j = 0; buf[j] != '\0'; ++j)
if (buf[j] == '-')
buf[j] = ' ';
label = buf;
}
else
label = "";
new_lbl = Fupcase_initials (build_string (label));
if (SCHARS (new_lbl) <= tab_bar_max_label_size)
set_prop_tab_bar (TAB_BAR_ITEM_LABEL, new_lbl);
else
set_prop_tab_bar (TAB_BAR_ITEM_LABEL, empty_unibyte_string);
xfree (buf);
}
/* If got a filter apply it on binding. */
@ -10711,7 +10639,8 @@ On such systems, Emacs starts a subshell instead of suspending. */)
get_tty_size (fileno (CURTTY ()->input), &width, &height);
if (width != old_width || height != old_height)
change_frame_size (SELECTED_FRAME (), width,
height - FRAME_MENU_BAR_LINES (SELECTED_FRAME ()) - FRAME_TAB_BAR_LINES (SELECTED_FRAME ()),
height - FRAME_MENU_BAR_LINES (SELECTED_FRAME ())
- FRAME_TAB_BAR_LINES (SELECTED_FRAME ()),
0, 0, 0, 0);
run_hook (intern ("suspend-resume-hook"));

View file

@ -3663,7 +3663,8 @@ be preferred. */);
DEFSYM (Qmode_line, "mode-line");
staticpro (&Vmouse_events);
Vmouse_events = pure_list (Qmenu_bar, Qtab_bar, Qtool_bar, Qtab_line, Qheader_line, Qmode_line,
Vmouse_events = pure_list (Qmenu_bar, Qtab_bar, Qtool_bar,
Qtab_line, Qheader_line, Qmode_line,
intern_c_string ("mouse-1"),
intern_c_string ("mouse-2"),
intern_c_string ("mouse-3"),

View file

@ -2342,7 +2342,8 @@ frame's terminal). */)
was suspended. */
get_tty_size (fileno (t->display_info.tty->input), &width, &height);
if (width != old_width || height != old_height)
change_frame_size (f, width, height - FRAME_MENU_BAR_LINES (f) - FRAME_TAB_BAR_LINES (f),
change_frame_size (f, width, height - FRAME_MENU_BAR_LINES (f)
- FRAME_TAB_BAR_LINES (f),
0, 0, 0, 0);
SET_FRAME_VISIBLE (XFRAME (t->display_info.tty->top_frame), 1);
}

View file

@ -5994,7 +5994,8 @@ w32_draw_window_cursor (struct window *w, struct glyph_row *glyph_row,
= (WINDOW_TO_FRAME_PIXEL_Y (w, w->phys_cursor.y)
+ glyph_row->ascent - w->phys_cursor_ascent);
w32_system_caret_window = w;
w32_system_caret_hdr_height = WINDOW_TAB_LINE_HEIGHT (w) + WINDOW_HEADER_LINE_HEIGHT (w);
w32_system_caret_hdr_height = WINDOW_TAB_LINE_HEIGHT (w)
+ WINDOW_HEADER_LINE_HEIGHT (w);
w32_system_caret_mode_height = WINDOW_MODE_LINE_HEIGHT (w);
PostMessage (hwnd, WM_IME_STARTCOMPOSITION, 0, 0);

View file

@ -1321,7 +1321,8 @@ coordinates_in_window (register struct window *w, int x, int y)
&& y < top_y + CURRENT_TAB_LINE_HEIGHT (w)
&& (part = ON_TAB_LINE))
|| (window_wants_header_line (w)
&& y < top_y + CURRENT_TAB_LINE_HEIGHT (w) + CURRENT_HEADER_LINE_HEIGHT (w)
&& y < top_y + CURRENT_TAB_LINE_HEIGHT (w)
+ CURRENT_HEADER_LINE_HEIGHT (w)
&& (part = ON_HEADER_LINE)))
{
/* If it's under/over the scroll bar portion of the mode/header
@ -5808,8 +5809,9 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror)
move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS);
if (IT_CHARPOS (it) == PT
&& it.current_y >= this_scroll_margin
&& it.current_y <= last_y - WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w)
&& (NILP (Vscroll_preserve_screen_position)
&& it.current_y <= last_y - WINDOW_TAB_LINE_HEIGHT (w)
- WINDOW_HEADER_LINE_HEIGHT (w)
&& (NILP (Vscroll_preserve_screen_position)
|| EQ (Vscroll_preserve_screen_position, Qt)))
/* We found PT at a legitimate height. Leave it alone. */
;
@ -5824,7 +5826,8 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror)
is necessary because we set it.current_y to 0, above. */
move_it_to (&it, -1,
window_scroll_pixel_based_preserve_x,
goal_y - WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w),
goal_y - WINDOW_TAB_LINE_HEIGHT (w)
- WINDOW_HEADER_LINE_HEIGHT (w),
-1, MOVE_TO_Y | MOVE_TO_X);
}
@ -5860,8 +5863,9 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror)
/* We subtract WINDOW_HEADER_LINE_HEIGHT because
it.y is relative to the bottom of the header
line, see above. */
(it.last_visible_y - WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w)
- partial_line_height (&it) - this_scroll_margin - 1),
(it.last_visible_y - WINDOW_TAB_LINE_HEIGHT (w)
- WINDOW_HEADER_LINE_HEIGHT (w)
- partial_line_height (&it) - this_scroll_margin - 1),
-1,
MOVE_TO_POS | MOVE_TO_Y);
@ -5899,13 +5903,15 @@ window_scroll_pixel_based (Lisp_Object window, int n, bool whole, bool noerror)
if (it.what == IT_EOB)
partial_p =
it.current_y + it.ascent + it.descent
> it.last_visible_y - this_scroll_margin - WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w);
> it.last_visible_y - this_scroll_margin
- WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w);
else
{
move_it_by_lines (&it, 1);
partial_p =
it.current_y
> it.last_visible_y - this_scroll_margin - WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w);
> it.last_visible_y - this_scroll_margin
- WINDOW_TAB_LINE_HEIGHT (w) - WINDOW_HEADER_LINE_HEIGHT (w);
}
if (charpos == PT && !partial_p

View file

@ -1809,7 +1809,7 @@ pos_visible_p (struct window *w, ptrdiff_t charpos, int *x, int *y,
*rowh = max (0, (min (it2.current_y + it2.max_ascent + it2.max_descent,
it.last_visible_y)
- max (max (it2.current_y,
WINDOW_TAB_LINE_HEIGHT (w)),
WINDOW_TAB_LINE_HEIGHT (w)),
WINDOW_HEADER_LINE_HEIGHT (w))));
*vpos = it2.vpos;
if (it2.bidi_it.paragraph_dir == R2L)
@ -2532,8 +2532,8 @@ remember_mouse_glyph (struct frame *f, int gx, int gy, NativeRectangle *rect)
gr = (part == ON_TAB_LINE
? MATRIX_TAB_LINE_ROW (w->current_matrix)
: (part == ON_HEADER_LINE
? MATRIX_HEADER_LINE_ROW (w->current_matrix)
: MATRIX_MODE_LINE_ROW (w->current_matrix)));
? MATRIX_HEADER_LINE_ROW (w->current_matrix)
: MATRIX_MODE_LINE_ROW (w->current_matrix)));
gy = gr->y;
area = TEXT_AREA;
goto text_glyph_row_found;
@ -2579,7 +2579,8 @@ remember_mouse_glyph (struct frame *f, int gx, int gy, NativeRectangle *rect)
gx += (x / width) * width;
}
if (part != ON_MODE_LINE && part != ON_HEADER_LINE && part != ON_TAB_LINE)
if (part != ON_MODE_LINE && part != ON_HEADER_LINE
&& part != ON_TAB_LINE)
{
gx += window_box_left_offset (w, area);
/* Don't expand over the modeline to make sure the vertical
@ -2594,7 +2595,8 @@ remember_mouse_glyph (struct frame *f, int gx, int gy, NativeRectangle *rect)
gx = (x / width) * width;
y -= gy;
gy += (y / height) * height;
if (part != ON_MODE_LINE && part != ON_HEADER_LINE && part != ON_TAB_LINE)
if (part != ON_MODE_LINE && part != ON_HEADER_LINE
&& part != ON_TAB_LINE)
/* See comment above. */
height = min (height,
max (0, WINDOW_BOX_HEIGHT_NO_MODE_LINE (w) - gy));
@ -12688,7 +12690,9 @@ display_tab_bar (struct window *w)
#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
eassert (!FRAME_WINDOW_P (f));
init_iterator (&it, w, -1, -1, f->desired_matrix->rows + (FRAME_MENU_BAR_LINES (f) > 0 ? 1 : 0), TAB_BAR_FACE_ID);
init_iterator (&it, w, -1, -1, f->desired_matrix->rows
+ (FRAME_MENU_BAR_LINES (f) > 0 ? 1 : 0),
TAB_BAR_FACE_ID);
it.first_visible_x = 0;
it.last_visible_x = FRAME_PIXEL_WIDTH (f);
#elif defined (HAVE_X_WINDOWS) /* X without toolkit. */
@ -12708,7 +12712,8 @@ display_tab_bar (struct window *w)
{
/* This is a TTY frame, i.e. character hpos/vpos are used as
pixel x/y. */
init_iterator (&it, w, -1, -1, f->desired_matrix->rows + (FRAME_MENU_BAR_LINES (f) > 0 ? 1 : 0),
init_iterator (&it, w, -1, -1, f->desired_matrix->rows
+ (FRAME_MENU_BAR_LINES (f) > 0 ? 1 : 0),
TAB_BAR_FACE_ID);
it.first_visible_x = 0;
it.last_visible_x = FRAME_COLS (f);
@ -17164,7 +17169,8 @@ compute_window_start_on_continuation_line (struct window *w)
/* Find the start of the continued line. This should be fast
because find_newline is fast (newline cache). */
row = w->desired_matrix->rows + window_wants_tab_line (w) + window_wants_header_line (w);
row = w->desired_matrix->rows + window_wants_tab_line (w)
+ window_wants_header_line (w);
init_iterator (&it, w, CHARPOS (start_pos), BYTEPOS (start_pos),
row, DEFAULT_FACE_ID);
reseat_at_previous_visible_line_start (&it);
@ -18677,7 +18683,7 @@ redisplay_window (Lisp_Object window, bool just_this_one_p)
/* This means that the window has a mode line. */
&& (window_wants_mode_line (w)
|| window_wants_header_line (w)
|| window_wants_tab_line (w)))
|| window_wants_tab_line (w)))
{
display_mode_lines (w);
@ -20822,7 +20828,8 @@ do nothing. */)
EMACS_INT vpos;
if (NILP (row))
vpos = WINDOWP (sf->tab_bar_window) ? 0 : FRAME_MENU_BAR_LINES (sf) > 0 ? 1 : 0;
vpos = WINDOWP (sf->tab_bar_window) ? 0 :
FRAME_MENU_BAR_LINES (sf) > 0 ? 1 : 0;
else
{
CHECK_FIXNUM (row);
@ -32350,8 +32357,8 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y,
row = (area == ON_MODE_LINE
? MATRIX_MODE_LINE_ROW (w->current_matrix)
: (area == ON_TAB_LINE
? MATRIX_TAB_LINE_ROW (w->current_matrix)
: MATRIX_HEADER_LINE_ROW (w->current_matrix)));
? MATRIX_TAB_LINE_ROW (w->current_matrix)
: MATRIX_HEADER_LINE_ROW (w->current_matrix)));
/* Find the glyph under the mouse pointer. */
if (row->mode_line_p && row->enabled_p)
@ -32466,7 +32473,8 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y,
/* Change the mouse pointer according to what is under X/Y. */
if (NILP (pointer)
&& (area == ON_MODE_LINE || area == ON_HEADER_LINE || area == ON_TAB_LINE))
&& (area == ON_MODE_LINE || area == ON_HEADER_LINE
|| area == ON_TAB_LINE))
{
Lisp_Object map;
@ -32492,7 +32500,8 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y,
{
mouse_face = Fget_text_property (pos, Qmouse_face, string);
if (!NILP (Vmouse_highlight) && !NILP (mouse_face)
&& ((area == ON_MODE_LINE) || (area == ON_HEADER_LINE) || (area == ON_TAB_LINE))
&& ((area == ON_MODE_LINE) || (area == ON_HEADER_LINE)
|| (area == ON_TAB_LINE))
&& glyph)
{
Lisp_Object b, e;
@ -32564,10 +32573,10 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y,
vpos = (area == ON_MODE_LINE
? (w->current_matrix)->nrows - 1
: (area == ON_TAB_LINE
? 0
: (w->current_matrix->tab_line_p
? 1
: 0)));
? 0
: (w->current_matrix->tab_line_p
? 1
: 0)));
/* If GLYPH's position is included in the region that is
already drawn in mouse face, we have nothing to do. */
@ -32623,7 +32632,8 @@ note_mode_line_or_margin_highlight (Lisp_Object window, int x, int y,
/* If mouse-face doesn't need to be shown, clear any existing
mouse-face. */
if ((area == ON_MODE_LINE || area == ON_HEADER_LINE || area == ON_TAB_LINE) && !mouse_face_shown)
if ((area == ON_MODE_LINE || area == ON_HEADER_LINE
|| area == ON_TAB_LINE) && !mouse_face_shown)
clear_mouse_face (hlinfo);
define_frame_cursor1 (f, cursor, pointer);
@ -34372,10 +34382,6 @@ vertical margin. */);
doc: /* Relief thickness of tab-bar buttons. */);
tab_bar_button_relief = DEFAULT_TAB_BAR_BUTTON_RELIEF;
DEFVAR_INT ("tab-bar-max-label-size", tab_bar_max_label_size,
doc: /* Maximum number of characters a label can have to be shown. */);
tab_bar_max_label_size = DEFAULT_TAB_BAR_LABEL_SIZE;
DEFVAR_LISP ("tool-bar-border", Vtool_bar_border,
doc: /* Border below tool-bar in pixels.
If an integer, use it as the height of the border.

View file

@ -6585,8 +6585,8 @@ syms_of_xfaces (void)
DEFSYM (Qtool_bar, "tool-bar");
DEFSYM (Qtab_bar, "tab-bar");
DEFSYM (Qfringe, "fringe");
DEFSYM (Qheader_line, "header-line");
DEFSYM (Qtab_line, "tab-line");
DEFSYM (Qheader_line, "header-line");
DEFSYM (Qscroll_bar, "scroll-bar");
DEFSYM (Qmenu, "menu");
DEFSYM (Qcursor, "cursor");

View file

@ -2820,7 +2820,6 @@ xic_set_statusarea (struct frame *f)
area.x = FRAME_PIXEL_WIDTH (f) - area.width - FRAME_INTERNAL_BORDER_WIDTH (f);
area.y = (FRAME_PIXEL_HEIGHT (f) - area.height
- FRAME_MENUBAR_HEIGHT (f)
- FRAME_TABBAR_TOP_HEIGHT (f)
- FRAME_TOOLBAR_TOP_HEIGHT (f)
- FRAME_INTERNAL_BORDER_WIDTH (f));
XFree (needed);

View file

@ -3223,8 +3223,8 @@ x_draw_image_relief (struct glyph_string *s)
thick = (tab_bar_button_relief < 0
? DEFAULT_TAB_BAR_BUTTON_RELIEF
: (tool_bar_button_relief < 0
? DEFAULT_TOOL_BAR_BUTTON_RELIEF
: min (tool_bar_button_relief, 1000000)));
? DEFAULT_TOOL_BAR_BUTTON_RELIEF
: min (tool_bar_button_relief, 1000000)));
raised_p = s->hl == DRAW_IMAGE_RAISED;
}
else
@ -10222,7 +10222,7 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset)
false, Qfont);
#ifndef USE_X_TOOLKIT
if ((FRAME_MENU_BAR_HEIGHT (f) != old_menu_bar_height
|| FRAME_TAB_BAR_HEIGHT (f) != old_tab_bar_height)
|| FRAME_TAB_BAR_HEIGHT (f) != old_tab_bar_height)
&& !f->after_make_frame
&& (EQ (frame_inhibit_implied_resize, Qt)
|| (CONSP (frame_inhibit_implied_resize)
@ -10232,7 +10232,8 @@ x_new_font (struct frame *f, Lisp_Object font_object, int fontset)
/* If the menu/tab bar height changes, try to keep text height
constant. */
adjust_frame_size
(f, -1, FRAME_TEXT_HEIGHT (f) + FRAME_MENU_BAR_HEIGHT (f) + FRAME_TAB_BAR_HEIGHT (f)
(f, -1, FRAME_TEXT_HEIGHT (f) + FRAME_MENU_BAR_HEIGHT (f)
+ FRAME_TAB_BAR_HEIGHT (f)
- old_menu_bar_height - old_tab_bar_height, 1, false, Qfont);
#endif /* USE_X_TOOLKIT */
}
@ -11168,7 +11169,7 @@ x_check_fullscreen (struct frame *f)
case FULLSCREEN_WIDTH:
lval = Qfullwidth;
width = x_display_pixel_width (dpyinfo);
height = height + FRAME_MENUBAR_HEIGHT (f) + FRAME_TABBAR_HEIGHT (f);
height = height + FRAME_MENUBAR_HEIGHT (f);
break;
case FULLSCREEN_HEIGHT:
lval = Qfullheight;
@ -11190,7 +11191,7 @@ x_check_fullscreen (struct frame *f)
x_wait_for_event (f, ConfigureNotify);
else
{
change_frame_size (f, width, height - FRAME_MENUBAR_HEIGHT (f) - FRAME_TABBAR_HEIGHT (f),
change_frame_size (f, width, height - FRAME_MENUBAR_HEIGHT (f),
false, true, false, true);
x_sync (f);
}
@ -11366,10 +11367,10 @@ x_set_window_size_1 (struct frame *f, bool change_gravity,
{
frame_size_history_add
(f, Qx_set_window_size_1, width, height,
list2i (old_height, pixelheight + FRAME_MENUBAR_HEIGHT (f) + FRAME_TABBAR_HEIGHT (f)));
list2i (old_height, pixelheight + FRAME_MENUBAR_HEIGHT (f)));
XResizeWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f),
old_width, pixelheight + FRAME_MENUBAR_HEIGHT (f) + FRAME_TABBAR_HEIGHT (f));
old_width, pixelheight + FRAME_MENUBAR_HEIGHT (f));
}
else if (EQ (fullscreen, Qfullheight) && height == FRAME_TEXT_HEIGHT (f))
{
@ -11385,12 +11386,13 @@ x_set_window_size_1 (struct frame *f, bool change_gravity,
{
frame_size_history_add
(f, Qx_set_window_size_3, width, height,
list3i (pixelwidth + FRAME_TOOLBAR_WIDTH (f) + FRAME_TABBAR_WIDTH (f),
(pixelheight + FRAME_TOOLBAR_HEIGHT (f) + FRAME_TABBAR_HEIGHT (f) + FRAME_MENUBAR_HEIGHT (f)),
FRAME_MENUBAR_HEIGHT (f) + FRAME_TABBAR_HEIGHT (f)));
list3i (pixelwidth + FRAME_TOOLBAR_WIDTH (f),
(pixelheight + FRAME_TOOLBAR_HEIGHT (f)
+ FRAME_MENUBAR_HEIGHT (f)),
FRAME_MENUBAR_HEIGHT (f)));
XResizeWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f),
pixelwidth, pixelheight + FRAME_MENUBAR_HEIGHT (f) + FRAME_TABBAR_HEIGHT (f));
pixelwidth, pixelheight + FRAME_MENUBAR_HEIGHT (f));
fullscreen = Qnil;
}
@ -11467,7 +11469,7 @@ x_set_window_size (struct frame *f, bool change_gravity,
#ifdef USE_X_TOOLKIT
/* The menu bar is not part of text lines. The tool bar
is however. */
pixelh -= FRAME_MENUBAR_HEIGHT (f) + FRAME_TABBAR_HEIGHT (f);
pixelh -= FRAME_MENUBAR_HEIGHT (f);
#endif
text_width = FRAME_PIXEL_TO_TEXT_WIDTH (f, FRAME_PIXEL_WIDTH (f));
text_height = FRAME_PIXEL_TO_TEXT_HEIGHT (f, pixelh);
@ -12263,7 +12265,7 @@ x_wm_set_size_hint (struct frame *f, long flags, bool user_position)
size_hints.flags |= PBaseSize;
size_hints.base_width = base_width;
size_hints.base_height = base_height + FRAME_MENUBAR_HEIGHT (f) + FRAME_TABBAR_HEIGHT (f);
size_hints.base_height = base_height + FRAME_MENUBAR_HEIGHT (f);
size_hints.min_width = base_width;
size_hints.min_height = base_height;
}

View file

@ -505,16 +505,6 @@ struct x_output
int menubar_height;
#endif
/* Height of tab bar widget, in pixels. top_height is used if tab bar
at top, bottom_height if tab bar is at the bottom.
Zero if not using an external tab bar or if tab bar is vertical. */
int tabbar_top_height, tabbar_bottom_height;
/* Width of tab bar widget, in pixels. left_width is used if tab bar
at left, right_width if tab bar is at the right.
Zero if not using an external tab bar or if tab bar is horizontal. */
int tabbar_left_width, tabbar_right_width;
/* Height of tool bar widget, in pixels. top_height is used if tool bar
at top, bottom_height if tool bar is at the bottom.
Zero if not using an external tool bar or if tool bar is vertical. */
@ -582,11 +572,6 @@ struct x_output
GtkWidget *hbox_widget;
/* The menubar in this frame. */
GtkWidget *menubar_widget;
/* The tab bar in this frame */
GtkWidget *tabbar_widget;
/* True if tab bar is packed into the hbox widget (i.e. vertical). */
bool_bf tabbar_in_hbox : 1;
bool_bf tabbar_is_packed : 1;
/* The tool bar in this frame */
GtkWidget *toolbar_widget;
/* True if tool bar is packed into the hbox widget (i.e. vertical). */
@ -830,15 +815,6 @@ extern void x_mark_frame_dirty (struct frame *f);
#define FRAME_FONT(f) ((f)->output_data.x->font)
#define FRAME_FONTSET(f) ((f)->output_data.x->fontset)
#define FRAME_TABBAR_TOP_HEIGHT(f) ((f)->output_data.x->tabbar_top_height)
#define FRAME_TABBAR_BOTTOM_HEIGHT(f) \
((f)->output_data.x->tabbar_bottom_height)
#define FRAME_TABBAR_HEIGHT(f) \
(FRAME_TABBAR_TOP_HEIGHT (f) + FRAME_TABBAR_BOTTOM_HEIGHT (f))
#define FRAME_TABBAR_LEFT_WIDTH(f) ((f)->output_data.x->tabbar_left_width)
#define FRAME_TABBAR_RIGHT_WIDTH(f) ((f)->output_data.x->tabbar_right_width)
#define FRAME_TABBAR_WIDTH(f) \
(FRAME_TABBAR_LEFT_WIDTH (f) + FRAME_TABBAR_RIGHT_WIDTH (f))
#define FRAME_TOOLBAR_TOP_HEIGHT(f) ((f)->output_data.x->toolbar_top_height)
#define FRAME_TOOLBAR_BOTTOM_HEIGHT(f) \
((f)->output_data.x->toolbar_bottom_height)