annotate lisp/toolbar-items.el @ 502:7039e6323819

[xemacs-hg @ 2001-05-04 22:41:46 by ben] ----------------------- byte-comp warning fixes ----------------- New functions for cleanly eliminating byte-compiler warnings. Their definitions require no changes at all in bytecomp.el, meaning that any package that wants to use them and be compatible with older versions of XEmacs need only copy the code and rename the functions (i.e. prefix them with the package name). Eliminate byte-compiler warnings using the new functions in bytecomp-runtime.el. Move coding-system-put,get,category, since they're not Mule-specific and are used in prefer-coding-system. font.el was incredibly ugly. Clean it up. Avoid using defsubst for any exported functions, to avoid possible compatibility problems if we later change the internal interface. (It happened before, with face accessors, between 19.8 and 19.9). Fix tons of warnings. Clean up (new function gpm-is-supported-p eliminates duplicate code in gpm-create/delete-device-hook) and eliminate warnings. ---------- make byte-recompile-directory work in the --------- core `lisp' dir, even in the absence of a Mule XEmacs (i.e. make it skip the Mule files rather than trying to compile them). now you should be able to do `touch *.el' in the `lisp' dir, then M-x byte-recompile-directory, and get no warnings. Avoid trying to compile Mule files in byte-recompile-directory when we're not in a Mule XEmacs, since we're highly likely to get syntax errors. Add a coding-system cookie to all Mule files so that byte-recompile-directory ignores them. Magic cookie function moved to files.el from code-files.el (for use by bytecomp even in a non-coding-system XEmacs), and changed names and semantics for use by bytecomp. NOTE: IMO this is an internal function that we can change as we like (and there is absolutely no code anywhere else using the function). ---------------- GUI improvements: menus, help ------------------- Rearrange order of keymap declarations to be alphabetical. Improve help on help to include all bindings, and group by category. Add bindings for new Info commands. Remove warnings. Use command-hyper-apropos in place of command-apropos. Add a function to do the equivalent of command-apropos. Evals its help-text argument so you can put expressions there. Used now by help-for-help. Add binding to continue text searches. Expand index searches to work over multiple info documents. Add commands to search text/index in User and Lispref. Add new entry, "Uncomment Region" (parallels "Comment Out Region"). Redo Help menu; add bindings for new Info commands to search the index or text of the User and Lispref manuals. Add command for mark-paragraph, activate-region. Make Edit->R accelerator be rectangle, not register (more commonly used), and put rectangle first. Fix the Edit Init File entry to never load the .elc file. Simplify the default-popup-menu. Add Cmds->Tabs menu. Use kp-left not kp_left, etc. ---------------- Miscellaneous bug fixes/cleanup ------------------- byte-compiler-options: Correct doc string. easy-menu-do-define: fix extra quote. fill-paragraph-or-region:Rewrite to be more correct -- use call-interactively so that we always get exactly the same behavior as if the functions were called directly. No need to fiddle with zmacs-region-stays, now that bogus clearing of it (2001-04-28 src/ChangeLog) is removed. Put dialog titles back in -- this time correctly. Fix various other problems with leaks and such. key-sequence-list-description: Clean up fun to always correctly canonicalize. Clean up Kinsoku comments, synch comment-region with FSF 20.7. * simple.el (region-exists-p): * simple.el (region-active-p): Add comment about which one is correct to use in menu specs. * sound.el (load-sound-file): Minor code clean up. * startup.el: * startup.el (command-line-early): * startup.el (initial-scratch-message): Comment changes. Add info about sample.init.el to splash screen. Improve initial-scratch-message and clarify purpose of Scratch buffer. Fix byte-compile warning. ------------------------ Added features ------------------------- Add new variable to control whether etags checks all parent directories for tag files. (On by default.) * hash-table.el: New file, useful utility functions. * dumped-lisp.el (preloaded-file-list): Dump hash-table.el. ------------ notable bug fix: Windows event code -------------- Get critical quit working. ------------ notable bug fix and new feature: regex code -------------- Shy groups were implemented in a horrible, half-assed way that would cause them to screw up regex searching in most cases. Fixed to work correctly. Also extended back-reference syntax past 9. Only is recognized as such if there are at least that many non-shy groups; and optionally will warn about such uses, to catch old code that might be using them differently. (Added variable to control this in search.c -- `warn-about-possibly-incompatible-back- references', on by default for the moment. Declared in lisp.h. ---------------- process/SIGIO improvements ------------------- define USE_GETADDRINFO to replace more complex conditional, and use it. the code conditionalized on this in unix_open_network_stream had *serious* problems handling errors. it's now fixed, and major amounts of duplicate code between the two versions were combined. don't disable SIGIO and other interrupts unless CONNECT_NEEDS_SLOWED_INTERRUPTS is defined -- don't penalize OS's without bugs. similarly for a freebsd bug that was affecting all OS's. * s\ultrix.h: define CONNECT_NEEDS_SLOWED_INTERRUPTS, since that's the OS mentioned as having a kernel bug. * sysdep.c (request_sigio_on_device): * sysdep.c (unrequest_sigio_on_device): fix SIGIO problems on Linux. add check for O_ASYNC in case it's defined and FASYNC isn't. add comment about other ways to do SIGIO on Linux. * callproc.c (Fold_call_process_internal): * process.c (Fstart_process_internal): Deal with the possibility that `default-directory' doesn't have terminating slash. Correct comments about vfork. ---------------- Miscellaneous bug fixes/cleanup ------------------- * callint.c (Finteractive): Add lots of documentation -- exactly what the Lisp equivalents of all the interactive specs are. * console.h (struct console): change type of quit_char to Emchar. * event-msw.c (lstream_type_create_mswindows_selectable): spacing change. Eliminate events-mod.h and combine into events.h. * emacs.c: * emacs.c (make_arg_list_1): * emacs.c (main_1): A couple of char->Extbyte changes, add a comment. * glyphs-msw.c: Correct indentation of function defns to not exceed 80 cols. Try (sort of) to fix some code that sets the colors of the progress gauge. (Commented out) * keymap.c (syms_of_keymap): use DEFSYMBOL. * process.c (read_process_output): No need to fiddle with zmacs_region_stays, now that bogus clearing of it (see below) is removed. * search.c (Freplace_match): warning fix.
author ben
date Fri, 04 May 2001 22:42:35 +0000
parents 54fa1a5c2d12
children 685b588e92d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1 ;;; toolbar-items.el -- Static initialization of XEmacs toolbar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 ;; Copyright (C) 1997 Free Software Foundation, Inc.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4 ;; Copyright (C) 1994 Andy Piper <andyp@parallax.demon.co.uk>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 ;; Copyright (C) 1995 Board of Trustees, University of Illinois
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 ;; Copyright (C) 1996 Ben Wing <ben@xemacs.org>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 ;; Maintainer: XEmacs development team
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 ;; Keywords: frames, dumped
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 ;; This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 ;; XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 ;; under the terms of the GNU General Public License as published by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 ;; the Free Software Foundation; either version 2, or (at your option)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 ;; any later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 ;; XEmacs is distributed in the hope that it will be useful, but
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 ;; General Public License for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 ;; You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 ;; along with XEmacs; see the file COPYING. If not, write to the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 ;; Boston, MA 02111-1307, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 ;;; Synched up: Not in FSF
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 ;;; Commentary:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 ;; This file is dumped with XEmacs (when window system and toolbar support
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 ;; is compiled in).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 ;; Miscellaneous toolbar functions, useful for users to redefine, in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 ;; order to get different behavior.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38 ;;; Code:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 (defgroup toolbar nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 "Configure XEmacs Toolbar functions and properties"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 :group 'environment)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 ;; #### The following function is slightly obnoxious as it stands. I
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45 ;; think it should print a message like "Toolbar not configured; press
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 ;; me again to configure it", and when the button is pressed again
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 ;; (within a reasonable period of time), `customize-variable' should
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48 ;; be invoked for the appropriate variable.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 (defun toolbar-not-configured ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52 ;; Note: we don't use `susbtitute-command-keys' here, because
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 ;; Customize is bound to `C-h C' by default, and that binding is not
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 ;; familiar to people. This is more descriptive.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 (error
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 "Configure the item via `M-x customize RET toolbar RET'"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58 (defcustom toolbar-open-function 'find-file
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 "*Function to call when the open icon is selected."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 :type '(radio (function-item find-file)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 (function :tag "Other"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 (defun toolbar-open ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 (call-interactively toolbar-open-function))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 (defcustom toolbar-dired-function 'dired
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 "*Function to call when the dired icon is selected."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 :type '(radio (function-item dired)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 (function :tag "Other"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 (defun toolbar-dired ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 (call-interactively toolbar-dired-function))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 (defcustom toolbar-save-function 'save-buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 "*Function to call when the save icon is selected."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80 :type '(radio (function-item save-buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 (function :tag "Other"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 (defun toolbar-save ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86 (call-interactively toolbar-save-function))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 (defcustom toolbar-print-function 'lpr-buffer
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 "*Function to call when the print icon is selected."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 :type '(radio (function-item lpr-buffer)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 (function :tag "Other"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 (defun toolbar-print ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 (call-interactively toolbar-print-function))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 (defcustom toolbar-cut-function 'kill-primary-selection
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 "*Function to call when the cut icon is selected."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 :type '(radio (function-item kill-primary-selection)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 (function :tag "Other"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 (defun toolbar-cut ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 (call-interactively toolbar-cut-function))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 (defcustom toolbar-copy-function 'copy-primary-selection
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 "*Function to call when the copy icon is selected."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 :type '(radio (function-item copy-primary-selection)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 (function :tag "Other"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 (defun toolbar-copy ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 (call-interactively toolbar-copy-function))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 (defcustom toolbar-paste-function 'yank-clipboard-selection
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 "*Function to call when the paste icon is selected."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 :type '(radio (function-item yank-clipboard-selection)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 (function :tag "Other"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 (defun toolbar-paste ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 ;; This horrible kludge is for pending-delete to work correctly.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 (and (boundp 'pending-delete-mode)
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 487
diff changeset
128 (declare-boundp pending-delete-mode)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 (let ((this-command toolbar-paste-function))
502
7039e6323819 [xemacs-hg @ 2001-05-04 22:41:46 by ben]
ben
parents: 487
diff changeset
130 (declare-fboundp (pending-delete-pre-hook))))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 (call-interactively toolbar-paste-function))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133 (defcustom toolbar-undo-function 'undo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 "*Function to call when the undo icon is selected."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 :type '(radio (function-item undo)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 (function :tag "Other"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 (defun toolbar-undo ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141 (call-interactively toolbar-undo-function))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 (defcustom toolbar-replace-function 'query-replace
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 "*Function to call when the replace icon is selected."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 :type '(radio (function-item query-replace)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 (function :tag "Other"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 (defun toolbar-replace ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151 (call-interactively toolbar-replace-function))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 ;; toolbar ispell variables and defuns
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 (defun toolbar-ispell-internal ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 (cond
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160 ((region-active-p) (ispell-region (region-beginning) (region-end)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 ((eq major-mode 'mail-mode) (ispell-message))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 ((eq major-mode 'message-mode) (ispell-message))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 (t (ispell-buffer))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 (defcustom toolbar-ispell-function 'toolbar-ispell-internal
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166 "*Function to call when the ispell icon is selected."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 :type '(radio (function-item toolbar-ispell-internal)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 (function :tag "Other"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171 (defun toolbar-ispell ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 "Intelligently spell the region or buffer."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174 (call-interactively toolbar-ispell-function))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 ;; toolbar mail variables and defuns
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 ;; This used to be a macro that expanded its arguments to a form that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181 ;; called `call-process'. With the advent of customize, it's better
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 ;; to have it as a defun, to make customization easier.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 (defun toolbar-external (process &rest args)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 (apply 'call-process process nil 0 nil args))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 (defcustom toolbar-mail-commands-alist
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 `((not-configured . toolbar-not-configured)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 (vm . vm)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190 (gnus . gnus-no-server)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 (rmail . rmail)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 (mh . mh-rmail)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 (pine . (toolbar-external "xterm" "-e" "pine")) ; *gag*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 (elm . (toolbar-external "xterm" "-e" "elm"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 (mutt . (toolbar-external "xterm" "-e" "mutt"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 (exmh . (toolbar-external "exmh"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197 (netscape . (toolbar-external "netscape" "mailbox:"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 (send . mail))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 "*Alist of mail readers and their commands.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 The car of each alist element is the mail reader, and the cdr is the form
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 used to start it."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 :type '(repeat (cons :format "%v"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 (symbol :tag "Mailer") (function :tag "Start with")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206 (defcustom toolbar-mail-reader 'not-configured
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207 "*Mail reader toolbar will invoke.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 The legal values are the keys from `toolbar-mail-command-alist', which
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209 should be used to add new mail readers.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 Mail readers known by default are vm, gnus, rmail, mh, pine, elm,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 mutt, exmh, netscape and send."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212 :type '(choice (const :tag "Not Configured" not-configured)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 (const vm) (const gnus) (const rmail) (const mh)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 (const pine) (const elm) (const mutt) (const exmh)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215 (const netscape)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 (const send)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 (symbol :tag "Other"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 :validate (lambda (wid)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 (if (assq (widget-value wid)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 toolbar-mail-commands-alist)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221 nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222 (widget-put wid :error
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223 "Unknown mail reader")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 wid))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 (defun toolbar-mail ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 "Run mail in a separate frame."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231 (let ((command (cdr (assq toolbar-mail-reader toolbar-mail-commands-alist))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232 (or command
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233 (error "Uknown mail reader %s" toolbar-mail-reader))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 (if (symbolp command)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 (call-interactively command)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236 (eval command))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 ;; toolbar info variables and defuns
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 (defcustom toolbar-info-use-separate-frame t
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243 "*Whether Info is invoked in a separate frame."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244 :type 'boolean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247 (defcustom toolbar-info-frame-plist
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 ;; Info pages are 80 characters wide, so it makes a good default.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249 `(width 80 ,@(let ((h (plist-get default-frame-plist 'height)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250 (and h `(height ,h))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251 "*The properties of the frame in which news is displayed."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252 :type 'plist
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253 :group 'info)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255 (define-obsolete-variable-alias 'Info-frame-plist
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256 'toolbar-info-frame-plist)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
257
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258 (defvar toolbar-info-frame nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259 "The frame in which info is displayed.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261 (defun toolbar-info ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262 "Run info in a separate frame."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
264 (when toolbar-info-use-separate-frame
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
265 (cond ((or (not toolbar-info-frame)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
266 (not (frame-live-p toolbar-info-frame)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
267 ;; We used to raise frame here, but it's a bad idea,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
268 ;; because raising is a matter of WM policy. However, we
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
269 ;; *must* select it, to ensure that the info buffer goes to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
270 ;; the right frame.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
271 (setq toolbar-info-frame (make-frame toolbar-info-frame-plist))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
272 (select-frame toolbar-info-frame))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
273 (t
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
274 ;; However, if the frame already exists, and the user
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
275 ;; clicks on info, it's OK to raise it.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
276 (select-frame toolbar-info-frame)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
277 (raise-frame toolbar-info-frame)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
278 (when (frame-iconified-p toolbar-info-frame)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
279 (deiconify-frame toolbar-info-frame)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
280 (info))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
281
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
282 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
283 ;; toolbar debug variables and defuns
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
284 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
285
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
286 (defun toolbar-debug ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
287 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
288 (if (featurep 'eos-debugger)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
289 (call-interactively 'eos::start-debugger)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
290 (require 'gdbsrc)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
291 (call-interactively 'gdbsrc)))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
292
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
293 (defun toolbar-compile ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
294 "Run compile without having to touch the keyboard."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
295 (interactive)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
296 (declare (special compile-command toolbar-compile-already-run))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
297 (require 'compile)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
298 (if (boundp 'toolbar-compile-already-run)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
299 (compile compile-command)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
300 (setq toolbar-compile-already-run t)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
301 (if (should-use-dialog-box-p)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
302 (make-dialog-box 'question
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
303 :question (concat "Compile:\n " compile-command)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
304 :buttons
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
305 '(["Compile" (compile compile-command) t]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
306 ["Edit command" compile t]
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
307 nil
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 428
diff changeset
308 ["Cancel" (message "Quit") t]))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
309 (compile compile-command))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
310
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
311 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
312 ;; toolbar news variables and defuns
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
313 ;;
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
314
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
315 (defcustom toolbar-news-commands-alist
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
316 `((not-configured . toolbar-not-configured)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
317 (gnus . toolbar-gnus) ; M-x all-hail-gnus
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
318 (rn . (toolbar-external "xterm" "-e" "rn"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
319 (nn . (toolbar-external "xterm" "-e" "nn"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
320 (trn . (toolbar-external "xterm" "-e" "trn"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
321 (xrn . (toolbar-external "xrn"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
322 (slrn . (toolbar-external "xterm" "-e" "slrn"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
323 (pine . (toolbar-external "xterm" "-e" "pine")) ; *gag*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
324 (tin . (toolbar-external "xterm" "-e" "tin")) ; *gag*
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
325 (netscape . (toolbar-external "netscape" "news:")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
326 "*Alist of news readers and their commands.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
327 The car of each alist element the pair is the news reader, and the cdr
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
328 is the form used to start it."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
329 :type '(repeat (cons :format "%v"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
330 (symbol :tag "Reader") (sexp :tag "Start with")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
331 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
332
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
333 (defcustom toolbar-news-reader 'gnus
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
334 "*News reader toolbar will invoke.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
335 The legal values are the keys from `toolbar-news-command-alist', which should
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
336 be used to add new news readers.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
337 Newsreaders known by default are gnus, rn, nn, trn, xrn, slrn, pine
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
338 and netscape."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
339 :type '(choice (const :tag "Not Configured" not-configured)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
340 (const gnus) (const rn) (const nn) (const trn)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
341 (const xrn) (const slrn) (const pine) (const tin)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
342 (const netscape)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
343 (symbol :tag "Other"
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
344 :validate (lambda (wid)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
345 (if (assq (widget-value wid)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
346 toolbar-news-commands-alist)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
347 nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
348 (widget-put wid :error
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
349 "Unknown news reader")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
350 wid))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
351 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
352
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
353 (defcustom toolbar-news-use-separate-frame t
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
354 "*Whether Gnus is invoked in a separate frame."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
355 :type 'boolean
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
356 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
357
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
358 (defvar toolbar-news-frame nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
359 "The frame in which news is displayed.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
360
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
361 (defcustom toolbar-news-frame-plist nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
362 "*The properties of the frame in which news is displayed."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
363 :type 'plist
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
364 :group 'toolbar)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
365
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
366 (define-obsolete-variable-alias 'toolbar-news-frame-properties
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
367 'toolbar-news-frame-plist)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
368
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
369 (defun toolbar-gnus ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
370 "Run Gnus in a separate frame."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
371 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
372 (if (not toolbar-news-use-separate-frame)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
373 (gnus)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
374 (unless (frame-live-p toolbar-news-frame)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
375 (setq toolbar-news-frame (make-frame toolbar-news-frame-plist))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
376 (add-hook 'gnus-exit-gnus-hook
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
377 (lambda ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
378 (when (frame-live-p toolbar-news-frame)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
379 (if (cdr (frame-list))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
380 (delete-frame toolbar-news-frame))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
381 (setq toolbar-news-frame nil))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
382 (select-frame toolbar-news-frame)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
383 (gnus))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
384 (when (framep toolbar-news-frame)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
385 (when (frame-iconified-p toolbar-news-frame)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
386 (deiconify-frame toolbar-news-frame))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
387 (select-frame toolbar-news-frame)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
388 (raise-frame toolbar-news-frame))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
389
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
390 (defun toolbar-news ()
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
391 "Run News."
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
392 (interactive)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
393 (let ((command (cdr-safe
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
394 (assq toolbar-news-reader toolbar-news-commands-alist))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
395 (or command
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
396 (error "Unkown news reader %s" toolbar-news-reader))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
397 (if (symbolp command)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
398 (call-interactively command)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
399 (eval command))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
400
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
401 (defvar toolbar-last-win-icon nil "A `last-win' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
402 (defvar toolbar-next-win-icon nil "A `next-win' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
403 (defvar toolbar-file-icon nil "A `file' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
404 (defvar toolbar-folder-icon nil "A `folder' icon set")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
405 (defvar toolbar-disk-icon nil "A `disk' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
406 (defvar toolbar-printer-icon nil "A `printer' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
407 (defvar toolbar-cut-icon nil "A `cut' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
408 (defvar toolbar-copy-icon nil "A `copy' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
409 (defvar toolbar-paste-icon nil "A `paste' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
410 (defvar toolbar-undo-icon nil "An `undo' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
411 (defvar toolbar-spell-icon nil "A `spell' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
412 (defvar toolbar-replace-icon nil "A `replace' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
413 (defvar toolbar-mail-icon nil "A `mail' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
414 (defvar toolbar-info-icon nil "An `info' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
415 (defvar toolbar-compile-icon nil "A `compile' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
416 (defvar toolbar-debug-icon nil "A `debugger' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
417 (defvar toolbar-news-icon nil "A `news' icon set.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
418
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
419 ;;; each entry maps a variable to the prefix used.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
420
487
54fa1a5c2d12 [xemacs-hg @ 2001-04-28 07:48:36 by ben]
ben
parents: 442
diff changeset
421 (defvar init-toolbar-list
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
422 '((toolbar-last-win-icon . "last-win")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
423 (toolbar-next-win-icon . "next-win")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
424 (toolbar-file-icon . "file")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
425 (toolbar-folder-icon . "folder")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
426 (toolbar-disk-icon . "disk")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
427 (toolbar-printer-icon . "printer")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
428 (toolbar-cut-icon . "cut")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
429 (toolbar-copy-icon . "copy")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
430 (toolbar-paste-icon . "paste")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
431 (toolbar-undo-icon . "undo")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
432 (toolbar-spell-icon . "spell")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
433 (toolbar-replace-icon . "replace")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
434 (toolbar-mail-icon . "mail")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
435 (toolbar-info-icon . "info-def")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
436 (toolbar-compile-icon . "compile")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
437 (toolbar-debug-icon . "debug")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
438 (toolbar-news-icon . "news")))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
439
487
54fa1a5c2d12 [xemacs-hg @ 2001-04-28 07:48:36 by ben]
ben
parents: 442
diff changeset
440 (defun init-toolbar ()
54fa1a5c2d12 [xemacs-hg @ 2001-04-28 07:48:36 by ben]
ben
parents: 442
diff changeset
441 (toolbar-add-item-data init-toolbar-list)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
442 ;; do this now because errors will occur if the icon symbols
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
443 ;; are not initted
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
444 (set-specifier default-toolbar initial-toolbar-spec))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
445
487
54fa1a5c2d12 [xemacs-hg @ 2001-04-28 07:48:36 by ben]
ben
parents: 442
diff changeset
446 (defun toolbar-add-item-data (icon-list &optional icon-dir)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
447 (if (eq icon-dir nil)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
448 (setq icon-dir toolbar-icon-directory))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
449 (mapcar
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
450 (lambda (cons)
487
54fa1a5c2d12 [xemacs-hg @ 2001-04-28 07:48:36 by ben]
ben
parents: 442
diff changeset
451 (let ((prefix (expand-file-name (cdr cons) icon-dir)))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
452 ;; #### This should use a better mechanism for finding the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
453 ;; glyphs, allowing for formats other than x[pb]m. Look at
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
454 ;; `widget-glyph-find' for an example how it might be done.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
455 (set (car cons)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
456 (if (featurep 'xpm)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
457 (toolbar-make-button-list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
458 (concat prefix "-up.xpm")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
459 nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
460 (concat prefix "-xx.xpm")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
461 (concat prefix "-cap-up.xpm")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
462 nil
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
463 (concat prefix "-cap-xx.xpm"))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
464 (toolbar-make-button-list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
465 (concat prefix "-up.xbm")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
466 (concat prefix "-dn.xbm")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
467 (concat prefix "-xx.xbm"))))))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
468 icon-list))
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
469
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
470 (defvar toolbar-vector-open
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
471 [toolbar-file-icon toolbar-open t "Open a file"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
472 "Define the vector for the \"Open\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
473
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
474 (defvar toolbar-vector-dired
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
475 [toolbar-folder-icon toolbar-dired t "Edit a directory"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
476 "Define the vector for the \"Dired\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
477
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
478 (defvar toolbar-vector-save
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
479 [toolbar-disk-icon toolbar-save t "Save buffer"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
480 "Define the vector for the \"Save\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
481
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
482 (defvar toolbar-vector-print
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
483 [toolbar-printer-icon toolbar-print t "Print buffer"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
484 "Define the vector for the \"Printer\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
485
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
486 (defvar toolbar-vector-cut
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
487 [toolbar-cut-icon toolbar-cut t "Kill region"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
488 "Define the vector for the \"Cut\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
489
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
490 (defvar toolbar-vector-copy
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
491 [toolbar-copy-icon toolbar-copy t "Copy region"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
492 "Define the vector for the \"Copy\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
493
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
494 (defvar toolbar-vector-paste
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
495 [toolbar-paste-icon toolbar-paste t "Paste from clipboard"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
496 "Define the vector for the \"Paste\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
497
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
498 (defvar toolbar-vector-undo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
499 [toolbar-undo-icon toolbar-undo t "Undo edit"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
500 "Define the vector for the \"Undo\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
501
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
502 (defvar toolbar-vector-spell
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
503 [toolbar-spell-icon toolbar-ispell t "Check spelling"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
504 "Define the vector for the \"Spell\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
505
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
506 (defvar toolbar-vector-replace
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
507 [toolbar-replace-icon toolbar-replace t "Search & Replace"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
508 "Define the vector for the \"Replace\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
509
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
510 (defvar toolbar-vector-mail
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
511 [toolbar-mail-icon toolbar-mail t "Read mail"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
512 "Define the vector for the \"Mail\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
513
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
514 (defvar toolbar-vector-info
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
515 [toolbar-info-icon toolbar-info t "Info documentation"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
516 "Define the vector for the \"Info\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
517
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
518 (defvar toolbar-vector-compile
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
519 [toolbar-compile-icon toolbar-compile t "Start a compilation"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
520 "Define the vector for the \"Compile\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
521
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
522 (defvar toolbar-vector-debug
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
523 [toolbar-debug-icon toolbar-debug t "Start a debugger"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
524 "Define the vector for the \"Debug\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
525
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
526 (defvar toolbar-vector-news
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
527 [toolbar-news-icon toolbar-news t "Read news"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
528 "Define the vector for the \"News\" toolbar button")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
529
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
530 (defvar initial-toolbar-spec
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
531 (list
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
532 ;;[toolbar-last-win-icon pop-window-configuration
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
533 ;;(frame-property (selected-frame)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
534 ;; 'window-config-stack) t "Most recent window config"]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
535 ;; #### Illicit knowledge?
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
536 ;; #### These don't work right - not consistent!
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
537 ;; I don't know what's wrong; perhaps `selected-frame' is wrong
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
538 ;; sometimes when this is evaluated. Note that I even tried to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
539 ;; kludge-fix this by calls to `set-specifier-dirty-flag' in
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
540 ;; pop-window-configuration and such.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
541
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
542 ;;[toolbar-next-win-icon unpop-window-configuration
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
543 ;;(frame-property (selected-frame)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
544 ;; 'window-config-unpop-stack) t "Undo \"Most recent window config\""]
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
545 ;; #### Illicit knowledge?
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
546 toolbar-vector-open
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
547 toolbar-vector-dired
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
548 toolbar-vector-save
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
549 toolbar-vector-print
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
550 toolbar-vector-cut
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
551 toolbar-vector-copy
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
552 toolbar-vector-paste
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
553 toolbar-vector-undo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
554 toolbar-vector-spell
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
555 toolbar-vector-replace
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
556 toolbar-vector-mail
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
557 toolbar-vector-info
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
558 toolbar-vector-compile
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
559 toolbar-vector-debug
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
560 toolbar-vector-news
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
561 )
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
562 "The initial toolbar for a buffer.")
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
563
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
564 ;;; toolbar-items.el ends here