diff options
| author | Martin Rudalics | 2014-07-27 15:21:30 +0200 |
|---|---|---|
| committer | Martin Rudalics | 2014-07-27 15:21:30 +0200 |
| commit | 3477e27021dbe9366c3c1aaba80feb72f1138b29 (patch) | |
| tree | c1ebfb6695e8d7f90ddad1a5bfaaf353be677514 /src/ChangeLog | |
| parent | 11fb71017b03f01a7e9e2db24973e756a41e16ec (diff) | |
| download | emacs-3477e27021dbe9366c3c1aaba80feb72f1138b29.tar.gz emacs-3477e27021dbe9366c3c1aaba80feb72f1138b29.zip | |
Complete pixelwise frame/window resizing, add horizontal scrollbar support.
* frame.el (frame-notice-user-settings): Rewrite using
frame-initial-frame-tool-bar-height.
* menu-bar.el (menu-bar-horizontal-scroll-bar)
(menu-bar-no-horizontal-scroll-bar): New functions.
(menu-bar-showhide-scroll-bar-menu): Add bindings for horizontal
scroll bars.
* scroll-bar.el (scroll-bar-lines)
(set-horizontal-scroll-bar-mode)
(get-horizontal-scroll-bar-mode, horizontal-scroll-bar-mode)
(scroll-bar-horizontal-drag-1, scroll-bar-horizontal-drag)
(scroll-bar-toolkit-horizontal-scroll): New functions.
(horizontal-scroll-bar-mode)
(previous-horizontal-scroll-bar-mode)
(horizontal-scroll-bar-mode-explicit): New variables.
(horizontal-scroll-bar-mode): New option.
(toggle-horizontal-scroll-bar): Do something.
(top-level): Bind horizontal-scroll-bar mouse-1.
* startup.el (tool-bar-originally-present): Remove variable.
(command-line): Don't set tool-bar-originally-present.
* window.el (window-min-height): Update doc-string.
(window--dump-frame): Dump horizontal scroll bar values.
(window--min-size-1): Handle minibuffer window separately.
Count in margins and horizontal scroll bar. Return safe value
iff IGNORE equals 'safe.
(frame-windows-min-size): New function (used by frame resizing
routines).
(fit-frame-to-buffer, fit-window-to-buffer): Count in horizontal
scroll bars.
(window--sanitize-window-sizes): New function.
(window-split-min-size): Remove.
(split-window): Count divider-width. Don't use
`window-split-min-size' any more. Reword error messages.
Sanitize windows sizes after splitting.
* buffer.h (struct buffer): New fields scroll_bar_height and
horizontal_scroll_bar_type.
* buffer.c (bset_scroll_bar_height)
(bset_horizontal_scroll_bar_type): New functions.
(Fbuffer_swap_text): Handle old_pointm field.
(init_buffer_once): Set defaults for scroll_bar_height and
horizontal_scroll_bar_type.
(syms_of_buffer): New variables scroll_bar_height and
horizontal_scroll_bar_type.
* dispextern.h (window_part): Rename ON_SCROLL_BAR to
ON_VERTICAL_SCROLL_BAR. Add ON_HORIZONTAL_SCROLL_BAR.
(set_vertical_scroll_bar): Remove prototype.
(x_change_tool_bar_height): Add prototype.
* dispnew.c (adjust_frame_glyphs_for_frame_redisplay)
(window_to_frame_vpos, update_frame_1, scrolling, init_display):
Use FRAME_TOTAL_COLS and FRAME_TOTAL_LINES instead of FRAME_COLS
and FRAME_LINES.
(adjust_frame_glyphs_for_window_redisplay): Rearrange lines.
(update_window): Start mode_line_row->y after horizontal scroll
bar.
(change_frame_size_1): Call adjust_frame_size.
(init_display): When changing the size of a tty frame do not
pass height of menu bar.
(Qframe_windows_min_size): New symbol.
* frame.h (struct frame): List tool bar fields after menu bar
fields. Add official, total_lines, horizontal_scroll_bars,
config_scroll_bar_height and config_scroll_bar_lines fields.
(FRAME_HAS_HORIZONTAL_SCROLL_BARS)
(FRAME_CONFIG_SCROLL_BAR_HEIGHT, FRAME_CONFIG_SCROLL_BAR_LINES)
(FRAME_SCROLL_BAR_AREA_HEIGHT, FRAME_SCROLL_BAR_COLS)
(FRAME_SCROLL_BAR_LINES, FRAME_TOTAL_LINES, SET_FRAME_LINES)
(FRAME_WINDOWS_HEIGHT): New macros.
(SET_FRAME_HEIGHT, FRAME_TEXT_LINES_TO_PIXEL_HEIGHT)
(FRAME_PIXEL_Y_TO_LINE, FRAME_PIXEL_HEIGHT_TO_TEXT_LINES)
(FRAME_TEXT_TO_PIXEL_HEIGHT): Separately count top margin and
horizontal scroll bar.
(frame_inhibit_resize, adjust_frame_size)
(frame_windows_min_size): Add declarations.
(Qscroll_bar_height, Qhorizontal_scroll_bars)
(x_set_scroll_bar_default_height, x_set_left_fringe)
(x_set_right_fringe, x_set_vertical_scroll_bars)
(x_set_horizontal_scroll_bars, x_set_scroll_bar_width)
(x_set_scroll_bar_height): Add external declarations.
* frame.c: (frame_inhibit_resize, frame_windows_min_size)
(adjust_frame_size): New functions.
(make_frame): Initial horizontal_scroll_bars field. Use
SET_FRAME_LINES. Don't allow horizontal scroll bar in
minibuffer window.
(make_initial_frame, make_terminal_frame): No horizontal scroll
bar in initial and terminal frames. Use adjust_frame_size.
(Fframe_total_cols): Fix doc-string.
(Fframe_total_lines, Fscroll_bar_height): New Lisp functions.
(Fset_frame_height, Fset_frame_width, Fset_frame_size): Rewrite
using adjust_frame_size.
(Qscroll_bar_height, Qhorizontal_scroll_bars)
(Qframe_windows_min_size): New symbols.
(x_set_frame_parameters): Remove call of check_frame_size.
(x_report_frame_params): Return scroll_bar_height value.
(x_set_left_fringe, x_set_right_fringe): New functions.
(adjust_frame_height, x_set_internal_border_width)
(x_set_fringe_width): Remove.
(x_set_internal_border_width, x_set_vertical_scroll_bars)
(x_set_scroll_bar_width, x_set_right_divider_width)
(x_set_bottom_divider_width): Rewrite using adjust_frame_size.
(x_set_horizontal_scroll_bars, x_set_scroll_bar_height): New
functions.
(x_figure_window_size): Rewrite to make frame display the
expected number of lines.
(Vdefault_frame_scroll_bars): Rewrite doc-string.
(Vdefault_frame_horizontal_scroll_bars)
(Vframe_initial_frame_tool_bar_height)
(frame_inhibit_implied_resize): New variables.
* fringe.c (compute_fringe_widths): Remove.
* gtkutil.h (YG_SB_MIN, YG_SB_MAX, YG_SB_RANGE): Define.
(xg_create_horizontal_scroll_bar)
(xg_update_horizontal_scrollbar_pos)
(xg_set_toolkit_horizontal_scroll_bar_thumb)
(xg_get_default_scrollbar_height)
(xg_clear_under_internal_border): Extern.
* gtkutil.c (xg_frame_resized): Don't call
do_pending_window_change.
(xg_frame_set_char_size): Use adjust_frame_size.
(style_changed_cb): Call update_theme_scrollbar_height and
x_set_scroll_bar_default_height.
(x_wm_set_size_hint): Don't call check_frame_size.
(update_theme_scrollbar_height)
(xg_get_default_scrollbar_height)
(xg_create_horizontal_scroll_bar)
(xg_update_horizontal_scrollbar_pos)
(xg_set_toolkit_horizontal_scroll_bar_thumb): New functions.
(xg_create_scroll_bar): Set horizontal slot of bar.
(xg_initialize): Call update_theme_scrollbar_height.
(xg_clear_under_internal_border): No more static.
* insdel.c (adjust_suspend_auto_hscroll): New function.
(adjust_markers_for_delete, adjust_markers_for_insert)
(adjust_markers_for_replace): Call adjust_suspend_auto_hscroll.
* keyboard.c (readable_events, discard_mouse_events)
(make_lispy_event): Handle horizontal scroll bar click events.
(Fsuspend_emacs): When changing the size of a tty frame do not
pass height of menu bar.
(Qbefore_handle, Qhorizontal_handle, Qafter_handle, Qleft)
(Qright, Qleftmost, Qrightmost): New symbols.
* menu.c (Fx_popup_dialog): Use FRAME_TOTAL_LINES instead of
FRAME_LINES.
* minibuf.c (read_minibuf): Initialize suspend_auto_hscroll.
* nsfns.m (x_set_internal_border_width): New function.
* nsterm.m (ns_draw_fringe_bitmap, ns_set_vertical_scroll_bar):
Remove extended fringe code.
(x_set_window_size, x_new_font): Don't call
compute_fringe_widths.
* term.c (Fresume_tty): When changing the size of a tty frame do
not pass height of menu bar.
(clear_tty_hooks, set_tty_hooks): Clear
horizontal_scroll_bar_hook.
(init_tty): Frame has no horizontal scroll bars.
* termhooks.h (enum scroll_bar_part): Add scroll_bar_move_ratio,
scroll_bar_before_handle, scroll_bar_horizontal_handle,
scroll_bar_after_handle, scroll_bar_left_arrow,
scroll_bar_right_arrow, scroll_bar_to_leftmost and
scroll_bar_to_rightmost entries.
(enum event_kind): Add HORIZONTAL_SCROLL_BAR_CLICK_EVENT
(struct terminal): Add set_horizontal_scroll_bar_hook.
* w32console.c (initialize_w32_display): Clear
horizontal_scroll_bar_hook.
* w32fns.c (x_set_mouse_color): Use FRAME_W32_DISPLAY instead of
FRAME_X_DISPLAY.
(x_clear_under_internal_border, x_set_internal_border_width):
New functions.
(x_set_menu_bar_lines): Rewrite using frame_inhibit_resize. Set
windows_or_buffers_changed when adding the menu bar.
(x_set_tool_bar_lines): Rewrite using adjust_frame_size.
(x_change_tool_bar_height, x_set_scroll_bar_default_height)
(w32_createhscrollbar): New functions.
(w32_createscrollbar): Rename to w32_createvscrollbar.
(w32_createwindow): Init WND_HSCROLLBAR_INDEX.
(w32_name_of_message): Replace WM_EMACS_CREATESCROLLBAR by
WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR. Add
WM_EMACS_SHOWCURSOR.
(w32_wnd_proc): Handle WM_HSCROLL case. In WM_WINDOWPOSCHANGING
case do not artificially impose WM size hints. Handle
WM_EMACS_SHOWCURSOR case. Replace WM_EMACS_CREATESCROLLBAR case
by WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR
cases.
(my_create_tip_window): Replace WND_SCROLLBAR_INDEX by
WND_VSCROLLBAR_INDEX and WND_HSCROLLBAR_INDEX.
(unwind_create_frame_1): Remove.
(Fx_create_frame): Make both scrollbars the system standard
width and height. Use official field of frame structure to
inhibit running window-configuration-change-hook.
(x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size
pixelwise. Handle frame's official field.
(w32_frame_parm_handlers): Remove x_set_fringe_width
entries. Add x_set_scroll_bar_height,
x_set_horizontal_scroll_bars, x_set_left_fringe and
x_set_right_fringe.
* w32inevt.c (resize_event, maybe_generate_resize_event): Do not
pass height of menu bar to change_frame_size.
* w32menu.c (set_frame_menubar): Rewrite using
frame_inhibit_resize.
* w32term.h (struct w32_display_info): Add
horizontal_scroll_bar_cursor and cursor_display_counter.
(struct scroll_bar): Add horizontal.
(HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT)
(HORIZONTAL_SCROLL_BAR_LEFT_RANGE)
(HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH)
(HORIZONTAL_SCROLL_BAR_LEFT_BORDER)
(HORIZONTAL_SCROLL_BAR_RIGHT_BORDER)
(HORIZONTAL_SCROLL_BAR_TOP_BORDER)
(HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER)
(HORIZONTAL_SCROLL_BAR_MIN_HANDLE): New macros.
(WM_EMACS_CREATEVSCROLLBAR, WM_EMACS_CREATEHSCROLLBAR): Define
instead of WM_EMACS_CREATESCROLLBAR.
(WND_VSCROLLBAR_INDEX, WND_HSCROLLBAR_INDEX): Define instead of
WND_SCROLLBAR_INDEX.
* w32term.c (horizontal_scroll_bar_min_handle)
(horizontal_scroll_bar_left_border)
(horizontal_scroll_bar_right_border): New integers.
(x_set_frame_alpha): Replace x_highlight_frame by
w32_focus_frame.
(x_window_to_scroll_bar): New argument "type". Update callers
accordingly.
(w32_set_horizontal_scroll_bar_thumb)
(x_horizontal_scroll_bar_report_motion)
(w32_set_horizontal_scroll_bar)
(w32_horizontal_scroll_bar_handle_click)
(x_horizontal_scroll_bar_report_motion): New functions.
(w32_mouse_position): Discriminate horizontal and vertical
scrollbar cases.
(my_create_scrollbar): Replace with two new functions
my_create_vscrollbar and my_create_hscrollbar.
(x_scroll_bar_create): New argument "horizontal". Update
callers accordingly.
(x_scroll_bar_remove, w32_condemn_scroll_bars)
(w32_redeem_scroll_bar, x_scroll_bar_clear): Handle horizontal
scroll bar case.
(w32_read_socket): Handle WM_HSCROLL cae.
(x_new_font): Don't recompute fringe widths. Use
frame_inhibit_resize. Calculate new menu bar height iff we
build without toolkit. Always clear under internal border.
(x_set_window_size): Don't check frame size or recompute
fringes. Reset fullscreen status before applying sizes. Always
resize as requested by pixelwise argument. Don't call
do_pending_window_change.
(x_wm_set_size_hint): Add call for FRAME_SCROLL_BAR_AREA_HEIGHT.
(w32_initialize_display_info): Initialize dpyinfo's
horizontal_scroll_bar_cursor entry.
(w32_create_terminal): Add set_horizontal_scroll_bar_hook.
(w32_initialize): Init horizontal_scroll_bar_min_handle and
horizontal_scroll_bar_left_border.
(w32fullscreen_hook): Intermittently resize window to normal
when switching from fullscreen to maximized state.
(run_window_configuration_change_hook): Don't run it if frame is
not official yet.
(unwind_change_frame): Remove.
(Fset_window_configuration): Rewrite using frame's official field.
* widget.c (set_frame_size): Don't call compute_fringe_widths.
(EmacsFrameSetCharSize): Obey frame_inhibit_resize.
* window.h (struct window): New fields old_pointm,
horizontal_scroll_bar, horizontal_scroll_bar_type, hscroll_whole,
scroll_bar_height and suspend_auto_hscroll.
(wset_horizontal_scroll_bar, wset_horizontal_scroll_bar_type):
New functions.
(sanitize_window_sizes): Extern.
(MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P, WINDOW_PSEUDO_P)
(WINDOW_TOPMOST_P, WINDOW_HAS_HORIZONTAL_SCROLL_BAR)
(WINDOW_CONFIG_SCROLL_BAR_HEIGHT)
(WINDOW_CONFIG_SCROLL_BAR_LINES)
(WINDOW_SCROLL_BAR_LINES, WINDOW_SCROLL_BAR_AREA_HEIGHT): New
macros.
(WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS)
(WINDOW_FRINGE_COLS, WINDOW_FRINGE_EXTENDED_P): Remove macros.
(WINDOW_VERTICAL_SCROLL_BAR_TYPE)
(WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT)
(WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT)
(WINDOW_HAS_VERTICAL_SCROLL_BAR): Minor rewrite.
(WINDOW_BOX_HEIGHT_NO_MODE_LINE, WINDOW_BOX_TEXT_HEIGHT)
(WINDOW_SCROLL_BAR_AREA_Y): Count in scroll bar height.
* window.c (wset_old_pointm, Fwindow_scroll_bar_height)
(Fwindow_old_point, sanitize_window_sizes): New functions.
(Qwindow_sanitize_window_sizes): New symbol.
(window_body_height): Count in horizontal scroll bar.
(set_window_hscroll, Fscroll_left, Fscroll_right): Set
suspend_auto_hscroll slot.
(Fwindow_inside_edges): Count fringes pixelwise.
(coordinates_in_window, Fcoordinates_in_window_p): Consider
horizontal scroll bar.
(check_frame_size, adjust_window_margins): Remove functions and
corresponding calls.
(set_window_buffer): Initialize old_pointm and horizontal scroll
bars.
(temp_output_buffer_show): Reset hscroll related fields.
Initialize old_pointm.
(make_parent_window): Initialize old_pointm.
(make_window): Initialize old_pointm, horizontal scroll bar type,
and scroll bar height.
(resize_frame_windows): Don't count top margin in new sizes.
Don't use safe sizes when shrinking a frame; let the window
manager do the clipping.
(Fsplit_window_internal): Inherit horizontal scroll bar type and
height.
(Fdelete_window_internal): Unchain old_pointm marker.
(window_scroll_pixel_based, Fscroll_other_window): Adjust
old_pointm.
(Fwindow_text_width, Fwindow_text_height): New argument
"pixelwise".
(struct saved_window): New fields, old_pointm, hscroll_whole,
suspend_auto_hscroll, scroll_bar_height and
horizontal_scroll_bar_type.
(Fset_window_configuration, save_window_save): Set new fields of
saved_window.
(apply_window_adjustment): Don't call adjust_window_margins.
(set_window_margins): Don't change margins if new sizes don't
fit into window.
(set_window_scroll_bars): New argument "horizontal_type".
Handle horizontal scroll bars. Don't change scroll bars if they
don't fit into window.
(Fset_window_scroll_bars): New argument "horizontal_type".
(Fwindow_scroll_bars): Return values for horizontal scroll bars.
(compare_window_configurations): Compare horizontal scroll bar
settings.
* xdisp.c (window_text_bottom_y, window_box_height): Count in
horizontal scroll bar height.
(pixel_to_glyph_coords, init_xdisp): Use FRAME_TOTAL_LINES
instead of FRAME_LINES.
(remember_mouse_glyph): Case ON_SCROLL_BAR changed to
ON_VERTICAL_SCROLL_BAR.
(with_echo_area_buffer): Initialize old_pointm.
(with_echo_area_buffer_unwind_data): Store old_pointm values in
vector.
(unwind_with_echo_area_buffer): Handle old_pointm.
(update_tool_bar): Set do_update when the tool bar window has at
least one line (since this is what the user sets).
(MAX_FRAME_TOOL_BAR_HEIGHT): Remove macro.
(redisplay_tool_bar): Return early when toolbar has zero lines.
Call x_change_tool_bar_height. Don't use max_tool_bar_height.
(hscroll_window_tree): Handle suspension of auto_hscroll and
old_pointm.
(set_horizontal_scroll_bar): New function.
(redisplay_window): Set ignore_mouse_drag_p when tool bar has
more than one line. Handle horizontal scroll bars.
(note_mouse_highlight): Handle horizontal scrol bars.
(expose_frame): Set dimensions of XRectangle from frame's text
sizes.
(Vvoid_text_area_pointer): Update doc-string.
* xfns.c (x_set_menu_bar_lines): Use adjust_frame_size.
(x_change_tool_bar_height, x_set_scroll_bar_default_height)
(x_set_internal_border_width): New functions.
(x_set_tool_bar_lines): Call x_change_tool_bar_height.
(unwind_create_frame_1): Remove.
(Fx_create_frame): Handle horizontal scroll bars. Use official
field of frame structure to inhibit running
window-configuration-change-hook.
(x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size
pixelwise. Handle frame's official field.
(x_frame_parm_handlers): Add x_set_scroll_bar_height,
x_set_horizontal_scroll_bars, x_set_left_fringe,
x_set_right_fringe.
* xmenu.c (update_frame_menubar, free_frame_menubar): Use
adjust_frame_size.
* xterm.h (struct x_display_info): Add
horizontal_scroll_bar_cursor and Xatom_Horizontal_Scrollbar
slots.
(struct scroll_bar): Add horizontal slot.
(HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT)
(HORIZONTAL_SCROLL_BAR_LEFT_RANGE)
(HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH): New macros.
(HORIZONTAL_SCROLL_BAR_LEFT_BORDER)
(HORIZONTAL_SCROLL_BAR_RIGHT_BORDER)
(HORIZONTAL_SCROLL_BAR_TOP_BORDER)
(HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER)
(HORIZONTAL_SCROLL_BAR_MIN_HANDLE): Define.
(x_clear_under_internal_border): Remove.
* xterm.c (XTmouse_position): Handle horizontal scroll bars.
(x_window_to_scroll_bar): New argument TYPE. Update callers.
(x_send_scroll_bar_event, x_scroll_bar_create): New arguments
HORIZONTAL. Update callers.
(horizontal_action_hook_id): New action hook id.
(x_horizontal_scroll_bar_to_input_event)
(x_create_horizontal_toolkit_scroll_bar)
(xt_horizontal_action_hook)
(x_set_toolkit_horizontal_scroll_bar_thumb)
(XTset_horizontal_scroll_bar, x_net_wm_state)
(x_horizontal_scroll_bar_report_motion): New functions.
(xg_scroll_callback, x_scroll_bar_handle_click): Handle
horizontal scroll bars.
(SCROLL_BAR_HORIZONTAL_NAME): Define.
(XTset_vertical_scroll_bar): Attempt to clear areas not covered
by scroll bar.
(XTcondemn_scroll_bars, XTredeem_scroll_bar): Rewrite. Handle
horizontal scroll bars.
(handle_one_xevent): Handle horizontal scroll bar events. Call
x_net_wm_state.
(x_set_window_size_1, x_wm_set_size_hint): Don't call
check_frame_size.
(x_set_window_size): Don't call check_frame_size and
do_pending_window_change.
(x_term_init): Init horizontal_scroll_bar_cursor display info.
(x_create_terminal): Add set_horizontal_scroll_bar_hook.
(x_scroll_bar_set_handle): Add some checks when calling
x_clear_area.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 363 |
1 files changed, 363 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 6843cfac089..28fc913903c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,366 @@ | |||
| 1 | 2014-07-27 Martin Rudalics <rudalics@gmx.at> | ||
| 2 | |||
| 3 | * buffer.h (struct buffer): New fields scroll_bar_height and | ||
| 4 | horizontal_scroll_bar_type. | ||
| 5 | * buffer.c (bset_scroll_bar_height) | ||
| 6 | (bset_horizontal_scroll_bar_type): New functions. | ||
| 7 | (Fbuffer_swap_text): Handle old_pointm field. | ||
| 8 | (init_buffer_once): Set defaults for scroll_bar_height and | ||
| 9 | horizontal_scroll_bar_type. | ||
| 10 | (syms_of_buffer): New variables scroll_bar_height and | ||
| 11 | horizontal_scroll_bar_type. | ||
| 12 | * dispextern.h (window_part): Rename ON_SCROLL_BAR to | ||
| 13 | ON_VERTICAL_SCROLL_BAR. Add ON_HORIZONTAL_SCROLL_BAR. | ||
| 14 | (set_vertical_scroll_bar): Remove prototype. | ||
| 15 | (x_change_tool_bar_height): Add prototype. | ||
| 16 | * dispnew.c (adjust_frame_glyphs_for_frame_redisplay) | ||
| 17 | (window_to_frame_vpos, update_frame_1, scrolling, init_display): | ||
| 18 | Use FRAME_TOTAL_COLS and FRAME_TOTAL_LINES instead of FRAME_COLS | ||
| 19 | and FRAME_LINES. | ||
| 20 | (adjust_frame_glyphs_for_window_redisplay): Rearrange lines. | ||
| 21 | (update_window): Start mode_line_row->y after horizontal scroll | ||
| 22 | bar. | ||
| 23 | (change_frame_size_1): Call adjust_frame_size. | ||
| 24 | (init_display): When changing the size of a tty frame do not | ||
| 25 | pass height of menu bar. | ||
| 26 | (Qframe_windows_min_size): New symbol. | ||
| 27 | * frame.h (struct frame): List tool bar fields after menu bar | ||
| 28 | fields. Add official, total_lines, horizontal_scroll_bars, | ||
| 29 | config_scroll_bar_height and config_scroll_bar_lines fields. | ||
| 30 | (FRAME_HAS_HORIZONTAL_SCROLL_BARS) | ||
| 31 | (FRAME_CONFIG_SCROLL_BAR_HEIGHT, FRAME_CONFIG_SCROLL_BAR_LINES) | ||
| 32 | (FRAME_SCROLL_BAR_AREA_HEIGHT, FRAME_SCROLL_BAR_COLS) | ||
| 33 | (FRAME_SCROLL_BAR_LINES, FRAME_TOTAL_LINES, SET_FRAME_LINES) | ||
| 34 | (FRAME_WINDOWS_HEIGHT): New macros. | ||
| 35 | (SET_FRAME_HEIGHT, FRAME_TEXT_LINES_TO_PIXEL_HEIGHT) | ||
| 36 | (FRAME_PIXEL_Y_TO_LINE, FRAME_PIXEL_HEIGHT_TO_TEXT_LINES) | ||
| 37 | (FRAME_TEXT_TO_PIXEL_HEIGHT): Separately count top margin and | ||
| 38 | horizontal scroll bar. | ||
| 39 | (frame_inhibit_resize, adjust_frame_size) | ||
| 40 | (frame_windows_min_size): Add declarations. | ||
| 41 | (Qscroll_bar_height, Qhorizontal_scroll_bars) | ||
| 42 | (x_set_scroll_bar_default_height, x_set_left_fringe) | ||
| 43 | (x_set_right_fringe, x_set_vertical_scroll_bars) | ||
| 44 | (x_set_horizontal_scroll_bars, x_set_scroll_bar_width) | ||
| 45 | (x_set_scroll_bar_height): Add external declarations. | ||
| 46 | * frame.c: (frame_inhibit_resize, frame_windows_min_size) | ||
| 47 | (adjust_frame_size): New functions. | ||
| 48 | (make_frame): Initial horizontal_scroll_bars field. Use | ||
| 49 | SET_FRAME_LINES. Don't allow horizontal scroll bar in | ||
| 50 | minibuffer window. | ||
| 51 | (make_initial_frame, make_terminal_frame): No horizontal scroll | ||
| 52 | bar in initial and terminal frames. Use adjust_frame_size. | ||
| 53 | (Fframe_total_cols): Fix doc-string. | ||
| 54 | (Fframe_total_lines, Fscroll_bar_height): New Lisp functions. | ||
| 55 | (Fset_frame_height, Fset_frame_width, Fset_frame_size): Rewrite | ||
| 56 | using adjust_frame_size. | ||
| 57 | (Qscroll_bar_height, Qhorizontal_scroll_bars) | ||
| 58 | (Qframe_windows_min_size): New symbols. | ||
| 59 | (x_set_frame_parameters): Remove call of check_frame_size. | ||
| 60 | (x_report_frame_params): Return scroll_bar_height value. | ||
| 61 | (x_set_left_fringe, x_set_right_fringe): New functions. | ||
| 62 | (adjust_frame_height, x_set_internal_border_width) | ||
| 63 | (x_set_fringe_width): Remove. | ||
| 64 | (x_set_internal_border_width, x_set_vertical_scroll_bars) | ||
| 65 | (x_set_scroll_bar_width, x_set_right_divider_width) | ||
| 66 | (x_set_bottom_divider_width): Rewrite using adjust_frame_size. | ||
| 67 | (x_set_horizontal_scroll_bars, x_set_scroll_bar_height): New | ||
| 68 | functions. | ||
| 69 | (x_figure_window_size): Rewrite to make frame display the | ||
| 70 | expected number of lines. | ||
| 71 | (Vdefault_frame_scroll_bars): Rewrite doc-string. | ||
| 72 | (Vdefault_frame_horizontal_scroll_bars) | ||
| 73 | (Vframe_initial_frame_tool_bar_height) | ||
| 74 | (frame_inhibit_implied_resize): New variables. | ||
| 75 | * fringe.c (compute_fringe_widths): Remove. | ||
| 76 | * gtkutil.h (YG_SB_MIN, YG_SB_MAX, YG_SB_RANGE): Define. | ||
| 77 | (xg_create_horizontal_scroll_bar) | ||
| 78 | (xg_update_horizontal_scrollbar_pos) | ||
| 79 | (xg_set_toolkit_horizontal_scroll_bar_thumb) | ||
| 80 | (xg_get_default_scrollbar_height) | ||
| 81 | (xg_clear_under_internal_border): Extern. | ||
| 82 | * gtkutil.c (xg_frame_resized): Don't call | ||
| 83 | do_pending_window_change. | ||
| 84 | (xg_frame_set_char_size): Use adjust_frame_size. | ||
| 85 | (style_changed_cb): Call update_theme_scrollbar_height and | ||
| 86 | x_set_scroll_bar_default_height. | ||
| 87 | (x_wm_set_size_hint): Don't call check_frame_size. | ||
| 88 | (update_theme_scrollbar_height) | ||
| 89 | (xg_get_default_scrollbar_height) | ||
| 90 | (xg_create_horizontal_scroll_bar) | ||
| 91 | (xg_update_horizontal_scrollbar_pos) | ||
| 92 | (xg_set_toolkit_horizontal_scroll_bar_thumb): New functions. | ||
| 93 | (xg_create_scroll_bar): Set horizontal slot of bar. | ||
| 94 | (xg_initialize): Call update_theme_scrollbar_height. | ||
| 95 | (xg_clear_under_internal_border): No more static. | ||
| 96 | * insdel.c (adjust_suspend_auto_hscroll): New function. | ||
| 97 | (adjust_markers_for_delete, adjust_markers_for_insert) | ||
| 98 | (adjust_markers_for_replace): Call adjust_suspend_auto_hscroll. | ||
| 99 | * keyboard.c (readable_events, discard_mouse_events) | ||
| 100 | (make_lispy_event): Handle horizontal scroll bar click events. | ||
| 101 | (Fsuspend_emacs): When changing the size of a tty frame do not | ||
| 102 | pass height of menu bar. | ||
| 103 | (Qbefore_handle, Qhorizontal_handle, Qafter_handle, Qleft) | ||
| 104 | (Qright, Qleftmost, Qrightmost): New symbols. | ||
| 105 | * menu.c (Fx_popup_dialog): Use FRAME_TOTAL_LINES instead of | ||
| 106 | FRAME_LINES. | ||
| 107 | * minibuf.c (read_minibuf): Initialize suspend_auto_hscroll. | ||
| 108 | * nsfns.m (x_set_internal_border_width): New function. | ||
| 109 | * nsterm.m (ns_draw_fringe_bitmap, ns_set_vertical_scroll_bar): | ||
| 110 | Remove extended fringe code. | ||
| 111 | (x_set_window_size, x_new_font): Don't call | ||
| 112 | compute_fringe_widths. | ||
| 113 | * term.c (Fresume_tty): When changing the size of a tty frame do | ||
| 114 | not pass height of menu bar. | ||
| 115 | (clear_tty_hooks, set_tty_hooks): Clear | ||
| 116 | horizontal_scroll_bar_hook. | ||
| 117 | (init_tty): Frame has no horizontal scroll bars. | ||
| 118 | * termhooks.h (enum scroll_bar_part): Add scroll_bar_move_ratio, | ||
| 119 | scroll_bar_before_handle, scroll_bar_horizontal_handle, | ||
| 120 | scroll_bar_after_handle, scroll_bar_left_arrow, | ||
| 121 | scroll_bar_right_arrow, scroll_bar_to_leftmost and | ||
| 122 | scroll_bar_to_rightmost entries. | ||
| 123 | (enum event_kind): Add HORIZONTAL_SCROLL_BAR_CLICK_EVENT | ||
| 124 | (struct terminal): Add set_horizontal_scroll_bar_hook. | ||
| 125 | * w32console.c (initialize_w32_display): Clear | ||
| 126 | horizontal_scroll_bar_hook. | ||
| 127 | * w32fns.c (x_set_mouse_color): Use FRAME_W32_DISPLAY instead of | ||
| 128 | FRAME_X_DISPLAY. | ||
| 129 | (x_clear_under_internal_border, x_set_internal_border_width): | ||
| 130 | New functions. | ||
| 131 | (x_set_menu_bar_lines): Rewrite using frame_inhibit_resize. Set | ||
| 132 | windows_or_buffers_changed when adding the menu bar. | ||
| 133 | (x_set_tool_bar_lines): Rewrite using adjust_frame_size. | ||
| 134 | (x_change_tool_bar_height, x_set_scroll_bar_default_height) | ||
| 135 | (w32_createhscrollbar): New functions. | ||
| 136 | (w32_createscrollbar): Rename to w32_createvscrollbar. | ||
| 137 | (w32_createwindow): Init WND_HSCROLLBAR_INDEX. | ||
| 138 | (w32_name_of_message): Replace WM_EMACS_CREATESCROLLBAR by | ||
| 139 | WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR. Add | ||
| 140 | WM_EMACS_SHOWCURSOR. | ||
| 141 | (w32_wnd_proc): Handle WM_HSCROLL case. In WM_WINDOWPOSCHANGING | ||
| 142 | case do not artificially impose WM size hints. Handle | ||
| 143 | WM_EMACS_SHOWCURSOR case. Replace WM_EMACS_CREATESCROLLBAR case | ||
| 144 | by WM_EMACS_CREATEVSCROLLBAR and WM_EMACS_CREATEHSCROLLBAR | ||
| 145 | cases. | ||
| 146 | (my_create_tip_window): Replace WND_SCROLLBAR_INDEX by | ||
| 147 | WND_VSCROLLBAR_INDEX and WND_HSCROLLBAR_INDEX. | ||
| 148 | (unwind_create_frame_1): Remove. | ||
| 149 | (Fx_create_frame): Make both scrollbars the system standard | ||
| 150 | width and height. Use official field of frame structure to | ||
| 151 | inhibit running window-configuration-change-hook. | ||
| 152 | (x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size | ||
| 153 | pixelwise. Handle frame's official field. | ||
| 154 | (w32_frame_parm_handlers): Remove x_set_fringe_width | ||
| 155 | entries. Add x_set_scroll_bar_height, | ||
| 156 | x_set_horizontal_scroll_bars, x_set_left_fringe and | ||
| 157 | x_set_right_fringe. | ||
| 158 | * w32inevt.c (resize_event, maybe_generate_resize_event): Do not | ||
| 159 | pass height of menu bar to change_frame_size. | ||
| 160 | * w32menu.c (set_frame_menubar): Rewrite using | ||
| 161 | frame_inhibit_resize. | ||
| 162 | * w32term.h (struct w32_display_info): Add | ||
| 163 | horizontal_scroll_bar_cursor and cursor_display_counter. | ||
| 164 | (struct scroll_bar): Add horizontal. | ||
| 165 | (HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT) | ||
| 166 | (HORIZONTAL_SCROLL_BAR_LEFT_RANGE) | ||
| 167 | (HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH) | ||
| 168 | (HORIZONTAL_SCROLL_BAR_LEFT_BORDER) | ||
| 169 | (HORIZONTAL_SCROLL_BAR_RIGHT_BORDER) | ||
| 170 | (HORIZONTAL_SCROLL_BAR_TOP_BORDER) | ||
| 171 | (HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER) | ||
| 172 | (HORIZONTAL_SCROLL_BAR_MIN_HANDLE): New macros. | ||
| 173 | (WM_EMACS_CREATEVSCROLLBAR, WM_EMACS_CREATEHSCROLLBAR): Define | ||
| 174 | instead of WM_EMACS_CREATESCROLLBAR. | ||
| 175 | (WND_VSCROLLBAR_INDEX, WND_HSCROLLBAR_INDEX): Define instead of | ||
| 176 | WND_SCROLLBAR_INDEX. | ||
| 177 | * w32term.c (horizontal_scroll_bar_min_handle) | ||
| 178 | (horizontal_scroll_bar_left_border) | ||
| 179 | (horizontal_scroll_bar_right_border): New integers. | ||
| 180 | (x_set_frame_alpha): Replace x_highlight_frame by | ||
| 181 | w32_focus_frame. | ||
| 182 | (x_window_to_scroll_bar): New argument "type". Update callers | ||
| 183 | accordingly. | ||
| 184 | (w32_set_horizontal_scroll_bar_thumb) | ||
| 185 | (x_horizontal_scroll_bar_report_motion) | ||
| 186 | (w32_set_horizontal_scroll_bar) | ||
| 187 | (w32_horizontal_scroll_bar_handle_click) | ||
| 188 | (x_horizontal_scroll_bar_report_motion): New functions. | ||
| 189 | (w32_mouse_position): Discriminate horizontal and vertical | ||
| 190 | scrollbar cases. | ||
| 191 | (my_create_scrollbar): Replace with two new functions | ||
| 192 | my_create_vscrollbar and my_create_hscrollbar. | ||
| 193 | (x_scroll_bar_create): New argument "horizontal". Update | ||
| 194 | callers accordingly. | ||
| 195 | (x_scroll_bar_remove, w32_condemn_scroll_bars) | ||
| 196 | (w32_redeem_scroll_bar, x_scroll_bar_clear): Handle horizontal | ||
| 197 | scroll bar case. | ||
| 198 | (w32_read_socket): Handle WM_HSCROLL cae. | ||
| 199 | (x_new_font): Don't recompute fringe widths. Use | ||
| 200 | frame_inhibit_resize. Calculate new menu bar height iff we | ||
| 201 | build without toolkit. Always clear under internal border. | ||
| 202 | (x_set_window_size): Don't check frame size or recompute | ||
| 203 | fringes. Reset fullscreen status before applying sizes. Always | ||
| 204 | resize as requested by pixelwise argument. Don't call | ||
| 205 | do_pending_window_change. | ||
| 206 | (x_wm_set_size_hint): Add call for FRAME_SCROLL_BAR_AREA_HEIGHT. | ||
| 207 | (w32_initialize_display_info): Initialize dpyinfo's | ||
| 208 | horizontal_scroll_bar_cursor entry. | ||
| 209 | (w32_create_terminal): Add set_horizontal_scroll_bar_hook. | ||
| 210 | (w32_initialize): Init horizontal_scroll_bar_min_handle and | ||
| 211 | horizontal_scroll_bar_left_border. | ||
| 212 | (w32fullscreen_hook): Intermittently resize window to normal | ||
| 213 | when switching from fullscreen to maximized state. | ||
| 214 | (run_window_configuration_change_hook): Don't run it if frame is | ||
| 215 | not official yet. | ||
| 216 | (unwind_change_frame): Remove. | ||
| 217 | (Fset_window_configuration): Rewrite using frame's official field. | ||
| 218 | * widget.c (set_frame_size): Don't call compute_fringe_widths. | ||
| 219 | (EmacsFrameSetCharSize): Obey frame_inhibit_resize. | ||
| 220 | * window.h (struct window): New fields old_pointm, | ||
| 221 | horizontal_scroll_bar, horizontal_scroll_bar_type, hscroll_whole, | ||
| 222 | scroll_bar_height and suspend_auto_hscroll. | ||
| 223 | (wset_horizontal_scroll_bar, wset_horizontal_scroll_bar_type): | ||
| 224 | New functions. | ||
| 225 | (sanitize_window_sizes): Extern. | ||
| 226 | (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P, WINDOW_PSEUDO_P) | ||
| 227 | (WINDOW_TOPMOST_P, WINDOW_HAS_HORIZONTAL_SCROLL_BAR) | ||
| 228 | (WINDOW_CONFIG_SCROLL_BAR_HEIGHT) | ||
| 229 | (WINDOW_CONFIG_SCROLL_BAR_LINES) | ||
| 230 | (WINDOW_SCROLL_BAR_LINES, WINDOW_SCROLL_BAR_AREA_HEIGHT): New | ||
| 231 | macros. | ||
| 232 | (WINDOW_LEFT_FRINGE_COLS, WINDOW_RIGHT_FRINGE_COLS) | ||
| 233 | (WINDOW_FRINGE_COLS, WINDOW_FRINGE_EXTENDED_P): Remove macros. | ||
| 234 | (WINDOW_VERTICAL_SCROLL_BAR_TYPE) | ||
| 235 | (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT) | ||
| 236 | (WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT) | ||
| 237 | (WINDOW_HAS_VERTICAL_SCROLL_BAR): Minor rewrite. | ||
| 238 | (WINDOW_BOX_HEIGHT_NO_MODE_LINE, WINDOW_BOX_TEXT_HEIGHT) | ||
| 239 | (WINDOW_SCROLL_BAR_AREA_Y): Count in scroll bar height. | ||
| 240 | * window.c (wset_old_pointm, Fwindow_scroll_bar_height) | ||
| 241 | (Fwindow_old_point, sanitize_window_sizes): New functions. | ||
| 242 | (Qwindow_sanitize_window_sizes): New symbol. | ||
| 243 | (window_body_height): Count in horizontal scroll bar. | ||
| 244 | (set_window_hscroll, Fscroll_left, Fscroll_right): Set | ||
| 245 | suspend_auto_hscroll slot. | ||
| 246 | (Fwindow_inside_edges): Count fringes pixelwise. | ||
| 247 | (coordinates_in_window, Fcoordinates_in_window_p): Consider | ||
| 248 | horizontal scroll bar. | ||
| 249 | (check_frame_size, adjust_window_margins): Remove functions and | ||
| 250 | corresponding calls. | ||
| 251 | (set_window_buffer): Initialize old_pointm and horizontal scroll | ||
| 252 | bars. | ||
| 253 | (temp_output_buffer_show): Reset hscroll related fields. | ||
| 254 | Initialize old_pointm. | ||
| 255 | (make_parent_window): Initialize old_pointm. | ||
| 256 | (make_window): Initialize old_pointm, horizontal scroll bar type, | ||
| 257 | and scroll bar height. | ||
| 258 | (resize_frame_windows): Don't count top margin in new sizes. | ||
| 259 | Don't use safe sizes when shrinking a frame; let the window | ||
| 260 | manager do the clipping. | ||
| 261 | (Fsplit_window_internal): Inherit horizontal scroll bar type and | ||
| 262 | height. | ||
| 263 | (Fdelete_window_internal): Unchain old_pointm marker. | ||
| 264 | (window_scroll_pixel_based, Fscroll_other_window): Adjust | ||
| 265 | old_pointm. | ||
| 266 | (Fwindow_text_width, Fwindow_text_height): New argument | ||
| 267 | "pixelwise". | ||
| 268 | (struct saved_window): New fields, old_pointm, hscroll_whole, | ||
| 269 | suspend_auto_hscroll, scroll_bar_height and | ||
| 270 | horizontal_scroll_bar_type. | ||
| 271 | (Fset_window_configuration, save_window_save): Set new fields of | ||
| 272 | saved_window. | ||
| 273 | (apply_window_adjustment): Don't call adjust_window_margins. | ||
| 274 | (set_window_margins): Don't change margins if new sizes don't | ||
| 275 | fit into window. | ||
| 276 | (set_window_scroll_bars): New argument "horizontal_type". | ||
| 277 | Handle horizontal scroll bars. Don't change scroll bars if they | ||
| 278 | don't fit into window. | ||
| 279 | (Fset_window_scroll_bars): New argument "horizontal_type". | ||
| 280 | (Fwindow_scroll_bars): Return values for horizontal scroll bars. | ||
| 281 | (compare_window_configurations): Compare horizontal scroll bar | ||
| 282 | settings. | ||
| 283 | * xdisp.c (window_text_bottom_y, window_box_height): Count in | ||
| 284 | horizontal scroll bar height. | ||
| 285 | (pixel_to_glyph_coords, init_xdisp): Use FRAME_TOTAL_LINES | ||
| 286 | instead of FRAME_LINES. | ||
| 287 | (remember_mouse_glyph): Case ON_SCROLL_BAR changed to | ||
| 288 | ON_VERTICAL_SCROLL_BAR. | ||
| 289 | (with_echo_area_buffer): Initialize old_pointm. | ||
| 290 | (with_echo_area_buffer_unwind_data): Store old_pointm values in | ||
| 291 | vector. | ||
| 292 | (unwind_with_echo_area_buffer): Handle old_pointm. | ||
| 293 | (update_tool_bar): Set do_update when the tool bar window has at | ||
| 294 | least one line (since this is what the user sets). | ||
| 295 | (MAX_FRAME_TOOL_BAR_HEIGHT): Remove macro. | ||
| 296 | (redisplay_tool_bar): Return early when toolbar has zero lines. | ||
| 297 | Call x_change_tool_bar_height. Don't use max_tool_bar_height. | ||
| 298 | (hscroll_window_tree): Handle suspension of auto_hscroll and | ||
| 299 | old_pointm. | ||
| 300 | (set_horizontal_scroll_bar): New function. | ||
| 301 | (redisplay_window): Set ignore_mouse_drag_p when tool bar has | ||
| 302 | more than one line. Handle horizontal scroll bars. | ||
| 303 | (note_mouse_highlight): Handle horizontal scrol bars. | ||
| 304 | (expose_frame): Set dimensions of XRectangle from frame's text | ||
| 305 | sizes. | ||
| 306 | (Vvoid_text_area_pointer): Update doc-string. | ||
| 307 | * xfns.c (x_set_menu_bar_lines): Use adjust_frame_size. | ||
| 308 | (x_change_tool_bar_height, x_set_scroll_bar_default_height) | ||
| 309 | (x_set_internal_border_width): New functions. | ||
| 310 | (x_set_tool_bar_lines): Call x_change_tool_bar_height. | ||
| 311 | (unwind_create_frame_1): Remove. | ||
| 312 | (Fx_create_frame): Handle horizontal scroll bars. Use official | ||
| 313 | field of frame structure to inhibit running | ||
| 314 | window-configuration-change-hook. | ||
| 315 | (x_create_tip_frame): Call SET_FRAME_LINES and change_frame_size | ||
| 316 | pixelwise. Handle frame's official field. | ||
| 317 | (x_frame_parm_handlers): Add x_set_scroll_bar_height, | ||
| 318 | x_set_horizontal_scroll_bars, x_set_left_fringe, | ||
| 319 | x_set_right_fringe. | ||
| 320 | * xmenu.c (update_frame_menubar, free_frame_menubar): Use | ||
| 321 | adjust_frame_size. | ||
| 322 | * xterm.h (struct x_display_info): Add | ||
| 323 | horizontal_scroll_bar_cursor and Xatom_Horizontal_Scrollbar | ||
| 324 | slots. | ||
| 325 | (struct scroll_bar): Add horizontal slot. | ||
| 326 | (HORIZONTAL_SCROLL_BAR_INSIDE_HEIGHT) | ||
| 327 | (HORIZONTAL_SCROLL_BAR_LEFT_RANGE) | ||
| 328 | (HORIZONTAL_SCROLL_BAR_INSIDE_WIDTH): New macros. | ||
| 329 | (HORIZONTAL_SCROLL_BAR_LEFT_BORDER) | ||
| 330 | (HORIZONTAL_SCROLL_BAR_RIGHT_BORDER) | ||
| 331 | (HORIZONTAL_SCROLL_BAR_TOP_BORDER) | ||
| 332 | (HORIZONTAL_SCROLL_BAR_BOTTOM_BORDER) | ||
| 333 | (HORIZONTAL_SCROLL_BAR_MIN_HANDLE): Define. | ||
| 334 | (x_clear_under_internal_border): Remove. | ||
| 335 | * xterm.c (XTmouse_position): Handle horizontal scroll bars. | ||
| 336 | (x_window_to_scroll_bar): New argument TYPE. Update callers. | ||
| 337 | (x_send_scroll_bar_event, x_scroll_bar_create): New arguments | ||
| 338 | HORIZONTAL. Update callers. | ||
| 339 | (horizontal_action_hook_id): New action hook id. | ||
| 340 | (x_horizontal_scroll_bar_to_input_event) | ||
| 341 | (x_create_horizontal_toolkit_scroll_bar) | ||
| 342 | (xt_horizontal_action_hook) | ||
| 343 | (x_set_toolkit_horizontal_scroll_bar_thumb) | ||
| 344 | (XTset_horizontal_scroll_bar, x_net_wm_state) | ||
| 345 | (x_horizontal_scroll_bar_report_motion): New functions. | ||
| 346 | (xg_scroll_callback, x_scroll_bar_handle_click): Handle | ||
| 347 | horizontal scroll bars. | ||
| 348 | (SCROLL_BAR_HORIZONTAL_NAME): Define. | ||
| 349 | (XTset_vertical_scroll_bar): Attempt to clear areas not covered | ||
| 350 | by scroll bar. | ||
| 351 | (XTcondemn_scroll_bars, XTredeem_scroll_bar): Rewrite. Handle | ||
| 352 | horizontal scroll bars. | ||
| 353 | (handle_one_xevent): Handle horizontal scroll bar events. Call | ||
| 354 | x_net_wm_state. | ||
| 355 | (x_set_window_size_1, x_wm_set_size_hint): Don't call | ||
| 356 | check_frame_size. | ||
| 357 | (x_set_window_size): Don't call check_frame_size and | ||
| 358 | do_pending_window_change. | ||
| 359 | (x_term_init): Init horizontal_scroll_bar_cursor display info. | ||
| 360 | (x_create_terminal): Add set_horizontal_scroll_bar_hook. | ||
| 361 | (x_scroll_bar_set_handle): Add some checks when calling | ||
| 362 | x_clear_area. | ||
| 363 | |||
| 1 | 2014-07-26 Paul Eggert <eggert@cs.ucla.edu> | 364 | 2014-07-26 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 365 | ||
| 3 | Revert previous change. | 366 | Revert previous change. |