annotate lisp/tool-bar.el @ 66573:e65b759c6906

Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-630 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 149-151) - Merge from emacs--cvs-trunk--0 - Update from CVS 2005-10-27 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/flow-fill.el (fill-flowed-encode-tests): Restore trailing whitespace removed in revision 7.8. Use concatenated string to protect trailing whitespace. 2005-10-27 Jouni K Seppanen <jks@iki.fi> (tiny change) * lisp/gnus/nnimap.el (nnimap-search-uids-not-since-is-evil): Add variable. (nnimap-request-expire-articles): Use it to avoid sending 'UID SEARCH UID ... NOT SINCE' queries, for inefficient servers like Courier IMAP ("some version from 2004"). Mostly based on similar code in the same function. 2005-10-26 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/message.el (message-display-completion-list): New function. (message-expand-group): Use it; make sure the Completions buffer is modifiable.
author Miles Bader <miles@gnu.org>
date Mon, 31 Oct 2005 07:07:28 +0000
parents 759df5a9dc3e
children 31f77129bc92
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66168
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
1 ;;; tool-bar.el --- setting up the tool bar
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
2 ;;
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
3 ;; Copyright (C) 2000, 2001, 2002, 2003, 2004,
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
4 ;; 2005 Free Software Foundation, Inc.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
5 ;;
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
6 ;; Author: Dave Love <fx@gnu.org>
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
7 ;; Keywords: mouse frames
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
8
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
9 ;; This file is part of GNU Emacs.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
10
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
13 ;; the Free Software Foundation; either version 2, or (at your option)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
14 ;; any later version.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
15
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
19 ;; GNU General Public License for more details.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
20
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
23 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
24 ;; Boston, MA 02110-1301, USA.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
25
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
26 ;;; Commentary:
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
27
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
28 ;; Provides `tool-bar-mode' to control display of the tool-bar and
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
29 ;; bindings for the global tool bar with convenience functions
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
30 ;; `tool-bar-add-item' and `tool-bar-add-item-from-menu'.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
31
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
32 ;; The normal global binding for [tool-bar] (below) uses the value of
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
33 ;; `tool-bar-map' as the actual keymap to define the tool bar. Modes
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
34 ;; may either bind items under the [tool-bar] prefix key of the local
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
35 ;; map to add to the global bar or may set `tool-bar-map'
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
36 ;; buffer-locally to override it. (Some items are removed from the
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
37 ;; global bar in modes which have `special' as their `mode-class'
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
38 ;; property.)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
39
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
40 ;; Todo: Somehow make tool bars easily customizable by the naive?
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
41
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
42 ;;; Code:
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
43
66494
b9971215f644 (tool-bar-mode): Delete autoload cookie.
Richard M. Stallman <rms@gnu.org>
parents: 66168
diff changeset
44 ;; The autoload cookie doesn't work when preloading.
b9971215f644 (tool-bar-mode): Delete autoload cookie.
Richard M. Stallman <rms@gnu.org>
parents: 66168
diff changeset
45 ;; Deleting it means invoking this command won't work
b9971215f644 (tool-bar-mode): Delete autoload cookie.
Richard M. Stallman <rms@gnu.org>
parents: 66168
diff changeset
46 ;; when you are on a tty. I hope that won't cause too much trouble -- rms.
66168
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
47 (define-minor-mode tool-bar-mode
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
48 "Toggle use of the tool bar.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
49 With numeric ARG, display the tool bar if and only if ARG is positive.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
50
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
51 See `tool-bar-add-item' and `tool-bar-add-item-from-menu' for
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
52 conveniently adding tool bar items."
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
53 :init-value nil
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
54 :global t
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
55 :group 'mouse
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
56 :group 'frames
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
57 (and (display-images-p)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
58 (let ((lines (if tool-bar-mode 1 0)))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
59 ;; Alter existing frames...
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
60 (mapc (lambda (frame)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
61 (modify-frame-parameters frame
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
62 (list (cons 'tool-bar-lines lines))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
63 (frame-list))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
64 ;; ...and future ones.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
65 (let ((elt (assq 'tool-bar-lines default-frame-alist)))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
66 (if elt
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
67 (setcdr elt lines)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
68 (add-to-list 'default-frame-alist (cons 'tool-bar-lines lines)))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
69 (if (and tool-bar-mode
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
70 (display-graphic-p)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
71 (= 1 (length (default-value 'tool-bar-map)))) ; not yet setup
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
72 (tool-bar-setup))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
73
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
74 ;;;###autoload
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
75 ;; We want to pretend the toolbar by standard is on, as this will make
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
76 ;; customize consider disabling the toolbar a customization, and save
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
77 ;; that. We could do this for real by setting :init-value above, but
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
78 ;; that would turn on the toolbar in MS Windows where it is currently
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
79 ;; useless, and it would overwrite disabling the tool bar from X
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
80 ;; resources. If anyone want to implement this in a cleaner way,
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
81 ;; please do so.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
82 ;; -- Per Abrahamsen <abraham@dina.kvl.dk> 2002-02-21.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
83 (put 'tool-bar-mode 'standard-value '(t))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
84
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
85 (defvar tool-bar-map (make-sparse-keymap)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
86 "Keymap for the tool bar.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
87 Define this locally to override the global tool bar.")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
88
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
89 (global-set-key [tool-bar]
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
90 '(menu-item "tool bar" ignore
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
91 :filter (lambda (ignore) tool-bar-map)))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
92
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
93 ;;;###autoload
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
94 (defun tool-bar-add-item (icon def key &rest props)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
95 "Add an item to the tool bar.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
96 ICON names the image, DEF is the key definition and KEY is a symbol
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
97 for the fake function key in the menu keymap. Remaining arguments
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
98 PROPS are additional items to add to the menu item specification. See
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
99 Info node `(elisp)Tool Bar'. Items are added from left to right.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
100
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
101 ICON is the base name of a file containing the image to use. The
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
102 function will first try to use low-color/ICON.xpm if display-color-cells
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
103 is less or equal to 256, then ICON.xpm, then ICON.pbm, and finally
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
104 ICON.xbm, using `find-image'.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
105
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
106 Use this function only to make bindings in the global value of `tool-bar-map'.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
107 To define items in any other map, use `tool-bar-local-item'."
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
108 (apply 'tool-bar-local-item icon def key tool-bar-map props))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
109
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
110 ;;;###autoload
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
111 (defun tool-bar-local-item (icon def key map &rest props)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
112 "Add an item to the tool bar in map MAP.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
113 ICON names the image, DEF is the key definition and KEY is a symbol
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
114 for the fake function key in the menu keymap. Remaining arguments
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
115 PROPS are additional items to add to the menu item specification. See
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
116 Info node `(elisp)Tool Bar'. Items are added from left to right.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
117
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
118 ICON is the base name of a file containing the image to use. The
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
119 function will first try to use low-color/ICON.xpm if display-color-cells
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
120 is less or equal to 256, then ICON.xpm, then ICON.pbm, and finally
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
121 ICON.xbm, using `find-image'."
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
122 (let* ((fg (face-attribute 'tool-bar :foreground))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
123 (bg (face-attribute 'tool-bar :background))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
124 (colors (nconc (if (eq fg 'unspecified) nil (list :foreground fg))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
125 (if (eq bg 'unspecified) nil (list :background bg))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
126 (xpm-spec (list :type 'xpm :file (concat icon ".xpm")))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
127 (xpm-lo-spec (if (> (display-color-cells) 256)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
128 nil
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
129 (list :type 'xpm :file
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
130 (concat "low-color/" icon ".xpm"))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
131 (pbm-spec (append (list :type 'pbm :file
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
132 (concat icon ".pbm")) colors))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
133 (xbm-spec (append (list :type 'xbm :file
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
134 (concat icon ".xbm")) colors))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
135 (image (find-image
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
136 (if (display-color-p)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
137 (list xpm-lo-spec xpm-spec pbm-spec xbm-spec)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
138 (list pbm-spec xbm-spec xpm-lo-spec xpm-spec)))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
139
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
140 (when (and (display-images-p) image)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
141 (unless (image-mask-p image)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
142 (setq image (append image '(:mask heuristic))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
143 (define-key-after map (vector key)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
144 `(menu-item ,(symbol-name key) ,def :image ,image ,@props)))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
145
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
146 ;;;###autoload
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
147 (defun tool-bar-add-item-from-menu (command icon &optional map &rest props)
66512
759df5a9dc3e (tool-bar-add-item-from-menu)
Nick Roberts <nickrob@snap.net.nz>
parents: 66494
diff changeset
148 "Define tool bar binding for COMMAND in keymap MAP using the given ICON.
66168
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
149 This makes a binding for COMMAND in `tool-bar-map', copying its
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
150 binding from the menu bar in MAP (which defaults to `global-map'), but
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
151 modifies the binding by adding an image specification for ICON. It
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
152 finds ICON just like `tool-bar-add-item'. PROPS are additional
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
153 properties to add to the binding.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
154
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
155 MAP must contain appropriate binding for `[menu-bar]' which holds a keymap.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
156
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
157 Use this function only to make bindings in the global value of `tool-bar-map'.
66512
759df5a9dc3e (tool-bar-add-item-from-menu)
Nick Roberts <nickrob@snap.net.nz>
parents: 66494
diff changeset
158 To define items in any other map, use `tool-bar-local-item-from-menu'."
66168
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
159 (apply 'tool-bar-local-item-from-menu command icon
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
160 (default-value 'tool-bar-map) map props))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
161
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
162 ;;;###autoload
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
163 (defun tool-bar-local-item-from-menu (command icon in-map &optional from-map &rest props)
66512
759df5a9dc3e (tool-bar-add-item-from-menu)
Nick Roberts <nickrob@snap.net.nz>
parents: 66494
diff changeset
164 "Define local tool bar binding for COMMAND using the given ICON.
66168
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
165 This makes a binding for COMMAND in IN-MAP, copying its binding from
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
166 the menu bar in FROM-MAP (which defaults to `global-map'), but
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
167 modifies the binding by adding an image specification for ICON. It
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
168 finds ICON just like `tool-bar-add-item'. PROPS are additional
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
169 properties to add to the binding.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
170
66512
759df5a9dc3e (tool-bar-add-item-from-menu)
Nick Roberts <nickrob@snap.net.nz>
parents: 66494
diff changeset
171 FROM-MAP must contain appropriate binding for `[menu-bar]' which
759df5a9dc3e (tool-bar-add-item-from-menu)
Nick Roberts <nickrob@snap.net.nz>
parents: 66494
diff changeset
172 holds a keymap."
66168
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
173 (unless from-map
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
174 (setq from-map global-map))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
175 (let* ((menu-bar-map (lookup-key from-map [menu-bar]))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
176 (keys (where-is-internal command menu-bar-map))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
177 (fg (face-attribute 'tool-bar :foreground))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
178 (bg (face-attribute 'tool-bar :background))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
179 (colors (nconc (if (eq fg 'unspecified) nil (list :foreground fg))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
180 (if (eq bg 'unspecified) nil (list :background bg))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
181 (xpm-spec (list :type 'xpm :file (concat icon ".xpm")))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
182 (xpm-lo-spec (if (> (display-color-cells) 256)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
183 nil
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
184 (list :type 'xpm :file
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
185 (concat "low-color/" icon ".xpm"))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
186 (pbm-spec (append (list :type 'pbm :file
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
187 (concat icon ".pbm")) colors))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
188 (xbm-spec (append (list :type 'xbm :file
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
189 (concat icon ".xbm")) colors))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
190 (spec (if (display-color-p)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
191 (list xpm-lo-spec xpm-spec pbm-spec xbm-spec)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
192 (list pbm-spec xbm-spec xpm-lo-spec xpm-spec)))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
193 (image (find-image spec))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
194 submap key)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
195 (when (and (display-images-p) image)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
196 ;; We'll pick up the last valid entry in the list of keys if
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
197 ;; there's more than one.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
198 (dolist (k keys)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
199 ;; We're looking for a binding of the command in a submap of
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
200 ;; the menu bar map, so the key sequence must be two or more
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
201 ;; long.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
202 (if (and (vectorp k)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
203 (> (length k) 1))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
204 (let ((m (lookup-key menu-bar-map (substring k 0 -1)))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
205 ;; Last element in the bound key sequence:
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
206 (kk (aref k (1- (length k)))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
207 (if (and (keymapp m)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
208 (symbolp kk))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
209 (setq submap m
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
210 key kk)))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
211 (when (and (symbolp submap) (boundp submap))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
212 (setq submap (eval submap)))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
213 (unless (image-mask-p image)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
214 (setq image (append image '(:mask heuristic))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
215 (let ((defn (assq key (cdr submap))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
216 (if (eq (cadr defn) 'menu-item)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
217 (define-key-after in-map (vector key)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
218 (append (cdr defn) (list :image image) props))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
219 (setq defn (cdr defn))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
220 (define-key-after in-map (vector key)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
221 (let ((rest (cdr defn)))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
222 ;; If the rest of the definition starts
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
223 ;; with a list of menu cache info, get rid of that.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
224 (if (and (consp rest) (consp (car rest)))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
225 (setq rest (cdr rest)))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
226 (append `(menu-item ,(car defn) ,rest)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
227 (list :image image) props))))))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
228
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
229 ;;; Set up some global items. Additions/deletions up for grabs.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
230
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
231 (defun tool-bar-setup ()
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
232 ;; People say it's bad to have EXIT on the tool bar, since users
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
233 ;; might inadvertently click that button.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
234 ;;(tool-bar-add-item-from-menu 'save-buffers-kill-emacs "exit")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
235 (tool-bar-add-item-from-menu 'find-file "new")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
236 (tool-bar-add-item-from-menu 'find-file-existing "open")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
237 (tool-bar-add-item-from-menu 'dired "diropen")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
238 (tool-bar-add-item-from-menu 'kill-this-buffer "close")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
239 (tool-bar-add-item-from-menu 'save-buffer "save" nil
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
240 :visible '(or buffer-file-name
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
241 (not (eq 'special
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
242 (get major-mode
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
243 'mode-class)))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
244 (tool-bar-add-item-from-menu 'write-file "saveas" nil
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
245 :visible '(or buffer-file-name
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
246 (not (eq 'special
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
247 (get major-mode
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
248 'mode-class)))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
249 (tool-bar-add-item-from-menu 'undo "undo" nil
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
250 :visible '(not (eq 'special (get major-mode
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
251 'mode-class))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
252 (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [cut])
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
253 "cut" nil
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
254 :visible '(not (eq 'special (get major-mode
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
255 'mode-class))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
256 (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [copy])
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
257 "copy")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
258 (tool-bar-add-item-from-menu (lookup-key menu-bar-edit-menu [paste])
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
259 "paste" nil
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
260 :visible '(not (eq 'special (get major-mode
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
261 'mode-class))))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
262 (tool-bar-add-item-from-menu 'nonincremental-search-forward "search")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
263 ;;(tool-bar-add-item-from-menu 'ispell-buffer "spell")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
264
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
265 ;; There's no icon appropriate for News and we need a command rather
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
266 ;; than a lambda for Read Mail.
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
267 ;;(tool-bar-add-item-from-menu 'compose-mail "mail/compose")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
268
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
269 (tool-bar-add-item-from-menu 'print-buffer "print")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
270 (tool-bar-add-item "preferences" 'customize 'customize
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
271 :help "Edit preferences (customize)")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
272
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
273 (tool-bar-add-item "help" (lambda ()
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
274 (interactive)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
275 (popup-menu menu-bar-help-menu))
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
276 'help
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
277 :help "Pop up the Help menu")
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
278 )
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
279
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
280 (provide 'tool-bar)
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
281
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
282 ;;; arch-tag: 15f30f0a-d0d7-4d50-bbb7-f48fd0c8582f
28718fa5d988 Moved all remaining images from lisp/toolbar to etc/images, moved
Bill Wohler <wohler@newt.com>
parents:
diff changeset
283 ;;; tool-bar.el ends here