(declare-function x-get-resource "frame.c"
(attribute class &optional component subclass))
(declare-function tool-bar-mode "tool-bar" (&optional arg))
+(declare-function tool-bar-setup "tool-bar")
(defun command-line ()
(setq before-init-time (current-time)
(<= (frame-parameter nil 'menu-bar-lines) 0)))
(menu-bar-mode 1))
- ;; Enable tool-bar-mode if necessary. Note that we might enable it
- ;; even in tty frames, which means that there is a tool-bar if Emacs
- ;; later opens a graphical frame.
- (unless (or noninteractive emacs-basic-display
- (not (fboundp 'tool-bar-mode))
- ;; The tool-bar-lines parameter is nil if starting on a
- ;; tty; it is 0 if starting on a graphical display with
- ;; the toolbar disabled via X resources.
- (and (numberp (frame-parameter nil 'tool-bar-lines))
- (<= (frame-parameter nil 'tool-bar-lines) 0)))
- (tool-bar-mode 1))
+ (unless (or noninteractive (not (fboundp 'tool-bar-mode)))
+ ;; Set up the tool-bar. Do this even in tty frames, so that there
+ ;; is a tool-bar if Emacs later opens a graphical frame.
+ (if (or emacs-basic-display
+ (and (numberp (frame-parameter nil 'tool-bar-lines))
+ (<= (frame-parameter nil 'tool-bar-lines) 0)))
+ ;; On a graphical display with the toolbar disabled via X
+ ;; resources, set up the toolbar without enabling it.
+ (tool-bar-setup)
+ ;; Otherwise, enable tool-bar-mode.
+ (tool-bar-mode 1)))
;; Can't do this init in defcustom because the relevant variables
;; are not set.