Clean up initialization and customization of horizontal scroll bars.
* frame.el (frame-initialize): Remove horizontal-scroll-bars from frame-initial-frame-alist. * scroll-bar.el (previous-horizontal-scroll-bar-mode) (horizontal-scroll-bar-mode-explicit) (set-horizontal-scroll-bar-mode, get-horizontal-scroll-bar-mode) (toggle-horizontal-scroll-bar): Remove. (horizontal-scroll-bar-mode): Remove defcustom. (horizontal-scroll-bar-mode): Fix doc-string. (scroll-bar-toolkit-scroll) (scroll-bar-toolkit-horizontal-scroll): Add doc-strings stubs. * buffer.c (scroll-bar-height): Fix typo in doc-string. * frame.c (Vdefault_frame_horizontal_scroll_bars): Remove variable. * nsfns.m (Fx_create_frame): * w32fns.c (Fx_create_frame): * xfns.c (Fx_create_frame): Default horizontal scroll bars to nil.
This commit is contained in:
parent
62fca47221
commit
568df136f1
10 changed files with 51 additions and 79 deletions
11
etc/NEWS
11
etc/NEWS
|
@ -231,6 +231,17 @@ optional repeat-count argument.
|
|||
*** New macros `thread-first' and `thread-last' allow threading a form
|
||||
as the first or last argument of subsequent forms.
|
||||
|
||||
|
||||
* Changes in Frames and Windows Code in Emacs 24.5
|
||||
|
||||
** Emacs can now draw horizontal scroll bars on some platforms that
|
||||
provide toolkit scroll bars, namely Gtk, Lucid, Motif and Windows.
|
||||
Horizontal scroll bars are turned off by default. Use the command
|
||||
`horizontal-scroll-bar-mode' to toggle them on all frames; the frame
|
||||
parameter `horizontal-scroll-bars' to turn them on/off on individual
|
||||
frames; the function `set-window-scroll-bars' to turn them on/off on
|
||||
individual windows.
|
||||
|
||||
|
||||
* Changes in Emacs 24.5 on Non-Free Operating Systems
|
||||
|
||||
|
|
|
@ -1,3 +1,16 @@
|
|||
2014-09-03 Martin Rudalics <rudalics@gmx.at>
|
||||
|
||||
* frame.el (frame-initialize): Remove horizontal-scroll-bars
|
||||
from frame-initial-frame-alist.
|
||||
* scroll-bar.el (previous-horizontal-scroll-bar-mode)
|
||||
(horizontal-scroll-bar-mode-explicit)
|
||||
(set-horizontal-scroll-bar-mode, get-horizontal-scroll-bar-mode)
|
||||
(toggle-horizontal-scroll-bar): Remove.
|
||||
(horizontal-scroll-bar-mode): Remove defcustom.
|
||||
(horizontal-scroll-bar-mode): Fix doc-string.
|
||||
(scroll-bar-toolkit-scroll)
|
||||
(scroll-bar-toolkit-horizontal-scroll): Add doc-strings stubs.
|
||||
|
||||
2014-09-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* emacs-lisp/package.el (package-generate-description-file):
|
||||
|
|
|
@ -174,10 +174,6 @@ This function runs the hook `focus-out-hook'."
|
|||
(progn
|
||||
(setq frame-initial-frame-alist
|
||||
(append initial-frame-alist default-frame-alist nil))
|
||||
(or (assq 'horizontal-scroll-bars frame-initial-frame-alist)
|
||||
(setq frame-initial-frame-alist
|
||||
(cons '(horizontal-scroll-bars . t)
|
||||
frame-initial-frame-alist)))
|
||||
(setq frame-initial-frame-alist
|
||||
(cons (cons 'window-system initial-window-system)
|
||||
frame-initial-frame-alist))
|
||||
|
|
|
@ -90,16 +90,11 @@ SIDE must be the symbol `left' or `right'."
|
|||
(defvar scroll-bar-mode)
|
||||
(defvar horizontal-scroll-bar-mode)
|
||||
(defvar previous-scroll-bar-mode nil)
|
||||
(defvar previous-horizontal-scroll-bar-mode nil)
|
||||
|
||||
(defvar scroll-bar-mode-explicit nil
|
||||
"Non-nil means `set-scroll-bar-mode' should really do something.
|
||||
This is nil while loading `scroll-bar.el', and t afterward.")
|
||||
|
||||
(defvar horizontal-scroll-bar-mode-explicit nil
|
||||
"Non-nil means `set-horizontal-scroll-bar-mode' should really do something.
|
||||
This is nil while loading `scroll-bar.el', and t afterward.")
|
||||
|
||||
(defun set-scroll-bar-mode (value)
|
||||
"Set the scroll bar mode to VALUE and put the new value into effect.
|
||||
See the `scroll-bar-mode' variable for possible values to use."
|
||||
|
@ -112,18 +107,6 @@ See the `scroll-bar-mode' variable for possible values to use."
|
|||
(modify-all-frames-parameters (list (cons 'vertical-scroll-bars
|
||||
scroll-bar-mode)))))
|
||||
|
||||
(defun set-horizontal-scroll-bar-mode (value)
|
||||
"Set the horizontal scroll bar mode to VALUE and put the new value into effect.
|
||||
See the `horizontal-scroll-bar-mode' variable for possible values to use."
|
||||
(if horizontal-scroll-bar-mode
|
||||
(setq previous-horizontal-scroll-bar-mode horizontal-scroll-bar-mode))
|
||||
|
||||
(setq horizontal-scroll-bar-mode value)
|
||||
|
||||
(when horizontal-scroll-bar-mode-explicit
|
||||
(modify-all-frames-parameters (list (cons 'horizontal-scroll-bars
|
||||
horizontal-scroll-bar-mode)))))
|
||||
|
||||
(defcustom scroll-bar-mode default-frame-scroll-bars
|
||||
"Specify whether to have vertical scroll bars, and on which side.
|
||||
Possible values are nil (no scroll bars), `left' (scroll bars on left)
|
||||
|
@ -140,32 +123,14 @@ Setting the variable with a customization buffer also takes effect."
|
|||
:initialize 'custom-initialize-default
|
||||
:set (lambda (_sym val) (set-scroll-bar-mode val)))
|
||||
|
||||
(defcustom horizontal-scroll-bar-mode default-frame-horizontal-scroll-bars
|
||||
"Specify whether to have horizontal scroll bars, and on which side.
|
||||
To set this variable in a Lisp program, use `set-horizontal-scroll-bar-mode'
|
||||
to make it take real effect.
|
||||
Setting the variable with a customization buffer also takes effect."
|
||||
:type '(choice (const :tag "none (nil)" nil)
|
||||
(const t))
|
||||
:group 'frames
|
||||
;; The default value for :initialize would try to use :set
|
||||
;; when processing the file in cus-dep.el.
|
||||
:initialize 'custom-initialize-default
|
||||
:set (lambda (_sym val) (set-horizontal-scroll-bar-mode val)))
|
||||
|
||||
;; We just set scroll-bar-mode, but that was the default.
|
||||
;; If it is set again, that is for real.
|
||||
(setq scroll-bar-mode-explicit t)
|
||||
(setq horizontal-scroll-bar-mode-explicit t)
|
||||
|
||||
(defun get-scroll-bar-mode ()
|
||||
(declare (gv-setter set-scroll-bar-mode))
|
||||
scroll-bar-mode)
|
||||
|
||||
(defun get-horizontal-scroll-bar-mode ()
|
||||
(declare (gv-setter set-horizontal-scroll-bar-mode))
|
||||
horizontal-scroll-bar-mode)
|
||||
|
||||
(define-minor-mode scroll-bar-mode
|
||||
"Toggle vertical scroll bars on all frames (Scroll Bar mode).
|
||||
With a prefix argument ARG, enable Scroll Bar mode if ARG is
|
||||
|
@ -187,10 +152,17 @@ enable the mode if ARG is omitted or nil.
|
|||
|
||||
This command applies to all frames that exist and frames to be
|
||||
created in the future."
|
||||
:variable ((get-horizontal-scroll-bar-mode)
|
||||
. (lambda (v) (set-horizontal-scroll-bar-mode
|
||||
(if v (or previous-scroll-bar-mode
|
||||
default-frame-horizontal-scroll-bars))))))
|
||||
:init-value nil
|
||||
:global t
|
||||
:group 'frames
|
||||
(dolist (frame (frame-list))
|
||||
(set-frame-parameter
|
||||
frame 'horizontal-scroll-bars horizontal-scroll-bar-mode))
|
||||
;; Handle `default-frame-alist' entry.
|
||||
(setq default-frame-alist
|
||||
(cons (cons 'horizontal-scroll-bars horizontal-scroll-bar-mode)
|
||||
(assq-delete-all 'horizontal-scroll-bars
|
||||
default-frame-alist))))
|
||||
|
||||
(defun toggle-scroll-bar (arg)
|
||||
"Toggle whether or not the selected frame has vertical scroll bars.
|
||||
|
@ -209,22 +181,6 @@ when they are turned on; if it is nil, they go on the left."
|
|||
(list (cons 'vertical-scroll-bars
|
||||
(if (> arg 0)
|
||||
(or scroll-bar-mode default-frame-scroll-bars))))))
|
||||
|
||||
(defun toggle-horizontal-scroll-bar (arg)
|
||||
"Toggle whether or not the selected frame has horizontal scroll bars.
|
||||
With arg, turn horizontal scroll bars on if and only if arg is positive."
|
||||
(interactive "P")
|
||||
(if (null arg)
|
||||
(setq arg
|
||||
(if (cdr (assq 'horizontal-scroll-bars
|
||||
(frame-parameters (selected-frame))))
|
||||
-1 1))
|
||||
(setq arg (prefix-numeric-value arg)))
|
||||
(modify-frame-parameters
|
||||
(selected-frame)
|
||||
(list (cons 'horizontal-scroll-bars
|
||||
(if (> arg 0)
|
||||
(or horizontal-scroll-bar-mode default-frame-horizontal-scroll-bars))))))
|
||||
|
||||
;;;; Buffer navigation using the scroll bar.
|
||||
|
||||
|
@ -412,6 +368,7 @@ EVENT should be a scroll bar click."
|
|||
;;; Tookit scroll bars.
|
||||
|
||||
(defun scroll-bar-toolkit-scroll (event)
|
||||
"Handle event EVENT on vertical scroll bar."
|
||||
(interactive "e")
|
||||
(let* ((end-position (event-end event))
|
||||
(window (nth 0 end-position))
|
||||
|
@ -453,6 +410,7 @@ EVENT should be a scroll bar click."
|
|||
(setq point-before-scroll before-scroll))))))
|
||||
|
||||
(defun scroll-bar-toolkit-horizontal-scroll (event)
|
||||
"Handle event EVENT on horizontal scroll bar."
|
||||
(interactive "e")
|
||||
(let* ((end-position (event-end event))
|
||||
(window (nth 0 end-position))
|
||||
|
|
|
@ -1,3 +1,13 @@
|
|||
2014-09-03 Martin Rudalics <rudalics@gmx.at>
|
||||
|
||||
* buffer.c (scroll-bar-height): Fix typo in doc-string.
|
||||
* frame.c (Vdefault_frame_horizontal_scroll_bars): Remove
|
||||
variable.
|
||||
* nsfns.m (Fx_create_frame):
|
||||
* w32fns.c (Fx_create_frame):
|
||||
* xfns.c (Fx_create_frame): Default horizontal scroll bars to
|
||||
nil.
|
||||
|
||||
2014-09-03 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* dispnew.c (buffer_posn_from_coords): Fix an off-by-one error in
|
||||
|
|
|
@ -5919,7 +5919,7 @@ A value of nil means to use the scroll bar width from the window's frame. */);
|
|||
DEFVAR_PER_BUFFER ("scroll-bar-height", &BVAR (current_buffer, scroll_bar_height),
|
||||
Qintegerp,
|
||||
doc: /* Height of this buffer's scroll bars in pixels.
|
||||
A value of nil means to use the scroll bar heiht from the window's frame. */);
|
||||
A value of nil means to use the scroll bar height from the window's frame. */);
|
||||
|
||||
DEFVAR_PER_BUFFER ("vertical-scroll-bar", &BVAR (current_buffer, vertical_scroll_bar_type),
|
||||
Qvertical_scroll_bar,
|
||||
|
|
10
src/frame.c
10
src/frame.c
|
@ -4872,16 +4872,6 @@ Setting this variable does not affect existing frames, only new ones. */);
|
|||
Vdefault_frame_scroll_bars = Qnil;
|
||||
#endif
|
||||
|
||||
DEFVAR_LISP ("default-frame-horizontal-scroll-bars", Vdefault_frame_horizontal_scroll_bars,
|
||||
doc: /* Default value for horizontal scroll bars on this window-system. */);
|
||||
#if (defined (HAVE_WINDOW_SYSTEM) \
|
||||
&& ((defined (USE_TOOLKIT_SCROLL_BARS) && !defined (HAVE_NS)) \
|
||||
|| defined (HAVE_NTGUI)))
|
||||
Vdefault_frame_horizontal_scroll_bars = Qt;
|
||||
#else
|
||||
Vdefault_frame_horizontal_scroll_bars = Qnil;
|
||||
#endif
|
||||
|
||||
DEFVAR_BOOL ("scroll-bar-adjust-thumb-portion",
|
||||
scroll_bar_adjust_thumb_portion_p,
|
||||
doc: /* Adjust thumb for overscrolling for Gtk+ and MOTIF.
|
||||
|
|
|
@ -1244,7 +1244,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
|
|||
"verticalScrollBars", "VerticalScrollBars",
|
||||
RES_TYPE_SYMBOL);
|
||||
}
|
||||
x_default_parameter (f, parms, Qhorizontal_scroll_bars, Qt,
|
||||
x_default_parameter (f, parms, Qhorizontal_scroll_bars, Qnil,
|
||||
"horizontalScrollBars", "HorizontalScrollBars",
|
||||
RES_TYPE_SYMBOL);
|
||||
x_default_parameter (f, parms, Qforeground_color, build_string ("Black"),
|
||||
|
|
|
@ -4569,7 +4569,7 @@ This function is an internal primitive--use `make-frame' instead. */)
|
|||
NULL, NULL, RES_TYPE_NUMBER);
|
||||
x_default_parameter (f, parameters, Qvertical_scroll_bars, Qright,
|
||||
"verticalScrollBars", "ScrollBars", RES_TYPE_SYMBOL);
|
||||
x_default_parameter (f, parameters, Qhorizontal_scroll_bars, Qbottom,
|
||||
x_default_parameter (f, parameters, Qhorizontal_scroll_bars, Qnil,
|
||||
"horizontalScrollBars", "ScrollBars", RES_TYPE_SYMBOL);
|
||||
|
||||
/* Also do the stuff which must be set before the window exists. */
|
||||
|
|
|
@ -3112,15 +3112,9 @@ This function is an internal primitive--use `make-frame' instead. */)
|
|||
#endif
|
||||
"verticalScrollBars", "ScrollBars",
|
||||
RES_TYPE_SYMBOL);
|
||||
x_default_parameter (f, parms, Qhorizontal_scroll_bars,
|
||||
#if defined (USE_GTK) && defined (USE_TOOLKIT_SCROLL_BARS)
|
||||
Qt,
|
||||
#else
|
||||
Qnil,
|
||||
#endif
|
||||
x_default_parameter (f, parms, Qhorizontal_scroll_bars, Qnil,
|
||||
"horizontalScrollBars", "ScrollBars",
|
||||
RES_TYPE_SYMBOL);
|
||||
|
||||
/* Also do the stuff which must be set before the window exists. */
|
||||
x_default_parameter (f, parms, Qforeground_color, build_string ("black"),
|
||||
"foreground", "Foreground", RES_TYPE_STRING);
|
||||
|
|
Loading…
Add table
Reference in a new issue