Mercurial > emacs
changeset 98594:b40f8a9232b9
(tool-bar-mode): Only change tool-bar-lines on graphical terminals.
(tool-bar-setup): No-op if called on a tty.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Thu, 09 Oct 2008 19:30:47 +0000 |
parents | 07dedfc8a63c |
children | d26dc6b50206 |
files | lisp/tool-bar.el |
diffstat | 1 files changed, 15 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- 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.