]> code.delx.au - gnu-emacs/blobdiff - lisp/tool-bar.el
Dired recognize dirs when file size in human units
[gnu-emacs] / lisp / tool-bar.el
index fa16381bf29d3ce04755fc78558d6eba0dd1a886..f0dfee25b43baca84a4c6e1aae19e48f4798ac4a 100644 (file)
@@ -1,7 +1,6 @@
 ;;; tool-bar.el --- setting up the tool bar
 
-;; Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-;;   2009, 2010  Free Software Foundation, Inc.
+;; Copyright (C) 2000-2016 Free Software Foundation, Inc.
 
 ;; Author: Dave Love <fx@gnu.org>
 ;; Keywords: mouse frames
 ;; Deleting it means invoking this command won't work
 ;; when you are on a tty.  I hope that won't cause too much trouble -- rms.
 (define-minor-mode tool-bar-mode
-  "Toggle use of the tool bar.
-With numeric ARG, display the tool bar if and only if ARG is positive.
+  "Toggle the tool bar in all graphical frames (Tool Bar mode).
+With a prefix argument ARG, enable Tool Bar mode if ARG is
+positive, and disable it otherwise.  If called from Lisp, enable
+Tool Bar mode if ARG is omitted or nil.
 
 See `tool-bar-add-item' and `tool-bar-add-item-from-menu' for
 conveniently adding tool bar items."
@@ -89,7 +90,7 @@ Define this locally to override the global tool bar.")
 
 (defconst tool-bar-keymap-cache (make-hash-table :weakness t :test 'equal))
 
-(defun tool-bar-make-keymap (&optional ignore)
+(defun tool-bar-make-keymap (&optional _ignore)
   "Generate an actual keymap from `tool-bar-map'.
 Its main job is to figure out which images to use based on the display's
 color capability and based on the available image libraries."
@@ -173,7 +174,8 @@ is less or equal to 256, then ICON.xpm, then ICON.pbm, and finally
 ICON.xbm, using `find-image'."
   (let* ((image-exp (tool-bar--image-expression icon)))
     (define-key-after map (vector key)
-      `(menu-item ,(symbol-name key) ,def :image ,image-exp ,@props))))
+      `(menu-item ,(symbol-name key) ,def :image ,image-exp ,@props))
+    (force-mode-line-update)))
 
 ;;;###autoload
 (defun tool-bar-add-item-from-menu (command icon &optional map &rest props)
@@ -238,7 +240,8 @@ holds a keymap."
             (if (and (consp rest) (consp (car rest)))
                 (setq rest (cdr rest)))
             (append `(menu-item ,(car defn) ,rest)
-                    (list :image image-exp) props)))))))
+                    (list :image image-exp) props))))
+      (force-mode-line-update))))
 
 ;;; Set up some global items.  Additions/deletions up for grabs.
 
@@ -254,7 +257,7 @@ holds a keymap."
   (tool-bar-add-item-from-menu 'save-buffer "save" nil
                               :label "Save")
   (define-key-after (default-value 'tool-bar-map) [separator-1] menu-bar-separator)
-  (tool-bar-add-item-from-menu 'undo "undo" nil :vert-only t)
+  (tool-bar-add-item-from-menu 'undo "undo" nil)
   (define-key-after (default-value 'tool-bar-map) [separator-2] menu-bar-separator)
   (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [cut])
                               "cut" nil :vert-only t)
@@ -263,25 +266,22 @@ holds a keymap."
   (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [paste])
                               "paste" nil :vert-only t)
   (define-key-after (default-value 'tool-bar-map) [separator-3] menu-bar-separator)
-  (tool-bar-add-item-from-menu 'nonincremental-search-forward "search"
-                              nil :label "Search")
+  (tool-bar-add-item-from-menu 'isearch-forward "search"
+                              nil :label "Search" :vert-only t)
   ;;(tool-bar-add-item-from-menu 'ispell-buffer "spell")
 
   ;; There's no icon appropriate for News and we need a command rather
   ;; than a lambda for Read Mail.
   ;;(tool-bar-add-item-from-menu 'compose-mail "mail/compose")
 
-
-  ;; tool-bar-add-item-from-menu itself operates on
-  ;; (default-value 'tool-bar-map), but when we don't use that function,
-  ;; we must explicitly operate on the default value.
-
-  (let ((tool-bar-map (default-value 'tool-bar-map)))
-    (tool-bar-add-item "help" (lambda ()
-                               (interactive)
-                               (popup-menu menu-bar-help-menu))
-                      'help
-                      :help "Pop up the Help menu")))
+  ;; Help button on a tool bar is rather non-standard...
+  ;; (let ((tool-bar-map (default-value 'tool-bar-map)))
+  ;;   (tool-bar-add-item "help" (lambda ()
+  ;;                           (interactive)
+  ;;                           (popup-menu menu-bar-help-menu))
+  ;;                  'help
+  ;;                  :help "Pop up the Help menu"))
+)
 
 (if (featurep 'move-toolbar)
     (defcustom tool-bar-position 'top
@@ -289,6 +289,7 @@ holds a keymap."
 Possible values are `top' (tool bar on top), `bottom' (tool bar at bottom),
 `left' (tool bar on left) and `right' (tool bar on right).
 Customize `tool-bar-mode' if you want to show or hide the tool bar."
+      :version "24.1"
       :type '(choice (const top)
                     (const bottom)
                     (const left)