# HG changeset patch # User Chong Yidong # Date 1223580647 0 # Node ID b40f8a9232b9a5bc472fa128196cd34587478127 # Parent 07dedfc8a63cf56ac5908e6ce6b8a61c636c78d4 (tool-bar-mode): Only change tool-bar-lines on graphical terminals. (tool-bar-setup): No-op if called on a tty. diff -r 07dedfc8a63c -r b40f8a9232b9 lisp/tool-bar.el --- a/lisp/tool-bar.el Thu Oct 09 19:29:42 2008 +0000 +++ b/lisp/tool-bar.el Thu Oct 09 19:30:47 2008 +0000 @@ -52,12 +52,13 @@ :global t :group 'mouse :group 'frames - (and (display-images-p) - (modify-all-frames-parameters (list (cons 'tool-bar-lines - (if tool-bar-mode 1 0)))) - (if (and tool-bar-mode - (display-graphic-p)) - (tool-bar-setup)))) + (if tool-bar-mode + (progn + (dolist (frame (frame-list)) + (if (display-graphic-p frame) + (set-frame-parameter frame 'tool-bar-lines 1))) + (tool-bar-setup)) + (modify-all-frames-parameters (list (cons 'tool-bar-lines 0))))) ;;;###autoload ;; Used in the Show/Hide menu, to have the toggle reflect the current frame. @@ -257,10 +258,16 @@ ;;; Set up some global items. Additions/deletions up for grabs. (defvar tool-bar-setup nil - "Set to t if the tool-bar has been set up by `tool-bar-setup'.") + "Non-nil if the tool-bar has been set up by `tool-bar-setup'.") (defun tool-bar-setup (&optional frame) - (unless tool-bar-setup + (unless (or tool-bar-setup + (null tool-bar-mode) + ;; No-op if the initial frame is on a tty, deferring + ;; action until called from x-create-frame-with-faces. + ;; Tool-bar icons can depend on X settings, which are + ;; initially unavailable in this case. + (not (display-graphic-p frame))) (with-selected-frame (or frame (selected-frame)) ;; People say it's bad to have EXIT on the tool bar, since users ;; might inadvertently click that button.