Mercurial > hg > xemacs-beta
diff lisp/w3/w3-cus.el @ 32:e04119814345 r19-15b99
Import from CVS: tag r19-15b99
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:52:56 +0200 |
parents | |
children | c53a95d3c46d 8619ce7e4c50 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/w3/w3-cus.el Mon Aug 13 08:52:56 2007 +0200 @@ -0,0 +1,378 @@ +;;; w3-cus.el --- Customization support for Emacs-W3 +;; Author: wmperry +;; Created: 1997/03/14 06:51:36 +;; Version: 1.3 +;; Keywords: comm, help, hypermedia + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Copyright (c) 1993 - 1996 by William M. Perry (wmperry@cs.indiana.edu) +;;; Copyright (c) 1996, 1997 Free Software Foundation, Inc. +;;; +;;; This file is part of GNU Emacs. +;;; +;;; GNU Emacs is free software; you can redistribute it and/or modify +;;; it under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 2, or (at your option) +;;; any later version. +;;; +;;; GNU Emacs is distributed in the hope that it will be useful, +;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Emacs; see the file COPYING. If not, write to the +;;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, +;;; Boston, MA 02111-1307, USA. +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(eval-and-compile + (condition-case () + (require 'custom) + (error nil)) + (if (and (featurep 'custom) (fboundp 'custom-declare-variable)) + nil ;; We've got what we needed + ;; We have the old custom-library, hack around it! + (defmacro defcustom (var value doc &rest args) + (` (defvar (, var) (, value) (, doc)))))) + +;;; File related variables +(defcustom w3-configuration-directory "~/.w3/" + "*Directory where Emacs-w3 can find its configuration files" + :group 'w3-files + :type 'directory) + +(defcustom w3-default-configuration-file nil + "*Where per-user customizations of w3 are kept." + :group 'w3-files + :type 'file) + +(defcustom w3-default-homepage nil + "*The url to open at startup. It can be any valid URL. +This will default to the environment variable WWW_HOME if you do not +set it in your .emacs file. If WWW_HOME is undefined, then it will +default to the hypertext documentation for W3 at Indiana University." + :group 'w3-files + :type 'string) + +(defcustom w3-default-stylesheet nil + "*The filename of the users default stylesheet." + :group 'w3-files + :type 'file) + +(defcustom w3-hotlist-file nil + "*Hotlist filename. +This should be the name of a file that is stored in either +NCSA's Mosaic/X or Netscape/X format. It is used to keep a listing +of commonly accessed URL's without having to go through 20 levels of +menus to get to them." + :group 'w3-files + :type 'file) + +(defcustom w3-documentation-root "http://www.cs.indiana.edu/elisp/w3/docs/" + "*Where the w3 documentation lives. This MUST end in a slash." + :group 'w3-files + :type 'string) + +(defcustom w3-temporary-directory (or (getenv "TMPDIR") "/tmp") + "*Where temporary files go." + :group 'w3-files + :type 'directory) + +;;; Display related variables +(defcustom w3-display-frames nil + "*Fetch frames - not optimal." + :group 'w3-display + :type 'boolean) + +(defcustom w3-do-incremental-display nil + "*Whether to do incremental display of pages or not." + :group 'w3-display + :type 'boolean) + +(defcustom w3-echo-link '(title url text name) + "*Whether to display the URL of a link when tabbing through links. +Value is a list of one or more of the following symbols: + + url == url of the target + text == text of the link + title == title attribute of the link + name == name or id attribute of the link + +If none of the information is available, nothing will be shown for the link +in menus, etc." + :group 'w3-display + :type '(set (const :tag "URL" :value url) + (const :tag "Link Text" :value text) + (const :tag "Title of the link as defined in the HTML tag" + :value title) + (const :tag "Name of the link as defined in the HTML tag" + :value name))) + +(defcustom w3-horizontal-rule-char ?- + "*The character to use to create a horizontal rule. +Must be the character's code, not a string. This character is +replicated across the screen to create a division." + :group 'w3-display + :type 'character) + +(defcustom w3-defined-link-types + ;; This is the HTML3.0 list (downcased) plus "made". + '("previous" "next" "up" "down" "home" "toc" "index" "glossary" + "copyright" "bookmark" "help" "made") + "A list of the (lower-case) names which have special significance +as the values of REL or REV attributes of <link> elements. They will +be presented on the toolbar or the links menu, for instance." + :group 'w3-display + :type '(repeat string)) + +;;; Parsing related variables +(defcustom w3-debug-html nil + "*Whether to gripe about bad HTML or not." + :group 'w3-parsing + :type '(choice (const :tag "HTML Errors" :value t) + (const :tag "Errors and stylistic issues" :value style) + (const :tag "None" :value nil))) + +(defcustom w3-debug-buffer "*HTML Debug*" + "*Name of buffer to store debugging information in." + :group 'w3-parsing + :type 'string) + +;;; Image related variables +(defcustom w3-auto-image-alt t + "*Whether emacs-w3 should create an alt attribute for an image that +is missing it. +If nil, emacs-w3 will not automatically create an ALT attribute. +If t, the alt attribute will be [IMAGE(nameofimage)] +If a string, it should be a string suitable for running through format, + with only one %s, which will be replaced with just the filename of the + graphic that is not loaded." + :group 'w3-images + :type '(choice (const :tag "None" :value nil) + (const :tag "Default" :value t) + string)) + +(defcustom w3-icon-directory "http://cs.indiana.edu/elisp/w3/icons/" + "*Where to find standard icons. Must end in a /!" + :group 'w3-images + :type 'string) + +(defcustom w3-icon-format 'gif + "*Image format the default icons are expected to be in. +This is a symbol, string or nil, specifing what file extension to use. +If nil, then no file extension is used." + :group 'w3-images + :type '(choice (const :tag "GIF Image" :value gif) + (const :tag "XPM Image" :value xpm) + (const :tag "XBM Image" :value xbm) + (const :tag "Let the server decide" :value nil) + (string :tag "Other"))) + +(defcustom w3-delay-image-loads nil + "*Whether to delay image loading, or automatically retrieve them." + :group 'w3-images + :type 'boolean) + +(defcustom w3-image-mappings + '( + ("image/x-xbitmap" . xbm) + ("image/xbitmap" . xbm) + ("image/xbm" . xbm) + ("image/jpeg" . jpeg) + ("image/gif" . gif) + ("image/png" . png) + ("image/x-fax" . g3fax) + ("image/x-raster" . rast) + ("image/windowdump" . xwd) + ("image/x-icon" . icon) + ("image/portable-graymap" . pgm) + ("image/portable-pixmap" . ppm) + ("image/x-pixmap" . xpm) + ("image/x-xpixmap" . xpm) + ("image/pict" . pict) + ("image/x-rgb" . sgi) + ("image/x-sgi" . sgi) + ("image/x-macpaint" . macpt) + ("image/x-targa" . tga) + ("image/tiff" . tiff) + ) + "*How to map MIME types to image types for the `image' package. +Each entry is a cons cell of MIME types and image-type symbols." + :group 'w3-images + :type '(repeat cons)) + +;;; Printing variables +(defcustom w3-latex-docstyle "{article}" + "*The documentstyle to use when printing or mailing files as LaTeX. +Good defaults are: {article}, [psfig,twocolumn]{article}, etc." + :group 'w3-printing + :type 'string) + +(defcustom w3-latex-print-links nil + "*If non-nil, prints the URLs of hypertext links as endnotes at the end of +the document. If `footnote', prints the URL's as footnotes on a page." + :group 'w3-printing + :type '(choice (const :tag "As endnotes" :value t) + (const :tag "As footnotes" :value footnote) + (const :tag "Do not print" :value nil))) + +(defcustom w3-latex-use-latex2e nil + "*If non-nil, configures LaTeX parser to use LaTeX2e syntax. A `nil' +value indicates that LaTeX 2.0.9 compatibility will be used instead." + :group 'w3-printing + :type 'boolean) + +(defcustom w3-latex-packages nil + "*List of LaTeX packages to include when converting HTML to LaTeX. +Currently this is only used if `w3-latex-use-latex2e' is non-nil." + :group 'w3-printing + :type '(repeat string)) + +(defcustom w3-latex-use-maketitle nil + "*Non-nil makes the LaTeX parser use real LaTeX title pages." + :group 'w3-printing + :type 'boolean) + +;;; Menus +(defcustom w3-max-menu-length 35 + "*The maximum length of a pulldown menu before it will be split into +smaller chunks, with the first part as a submenu, followed by the rest +of the menu." + :group 'w3-menus + :type 'integer) + +(defcustom w3-max-menu-width 40 + "*The maximum width of a pulldown menu choice." + :group 'w3-menus + :type 'integer) + +;;; Advanced stuff +(defcustom w3-modeline-format + '(" " ("W3" + (w3-netscape-emulation-minor-mode + " (NS)") + (w3-lynx-emulation-minor-mode + " (Lynx)") + ": " + (40 (-40 "%b")) + " " + (w3-current-isindex "[Searchable] ") + "%p" " " global-mode-string)) + "*The modeline format string when in w3 mode" + :group 'w3-advanced + :type 'list) + +(defcustom w3-netscape-compatible-comments t + "*Whether to honor netscape-style <! > comments. +Ye gods I wish I could turn this off by default." + :group 'w3-parsing + :type 'boolean) + +(defcustom w3-notify 'semibully + "*Selects the behavior when w3 page is ready. +This variable may have one of the following values: + +newframe -- put the w3 page in its own frame +bully -- make the w3 page the current buffer and only window +semibully -- make the w3 page the current buffer in the same window +aggressive -- make the w3 page the current buffer in the other window +friendly -- display w3page in other window but don't make current +polite -- don't display w3 page, but prints message when ready (beeps) +quiet -- like `polite', but don't beep +meek -- make no indication that page is ready + +Any other value of `w3-notify' is equivalent to `meek'." + :group 'w3-display + :type '(choice (const :tag "Display in a new frame" + :value newframe) + (const :tag "Display in the current window, select buffer, and kill other windows" + :value bully) + (const :tag "Display in the current window, select buffer" + :value semibully) + (const :tag "Display in another window, select buffer" + :value aggressive) + (const :tag "Display in another window, but do not select it" + :value friendly) + (const :tag "Do not display page, but show a message and beep" + :value polite) + (const :tag "Do not display page, but show a message (no beep)" + :value quiet) + (const :tag "Do not indicate that the page has been retrieved" + :value meek))) + +(defcustom w3-popup-menu-on-mouse-3 t + "*Non-nil value means W3 should provide context-sensitive menus on mouse-3. +A nil value means W3 should not change the binding of mouse-3." + :group 'w3-display + :type 'boolean) + +(defcustom w3-print-command "lpr -h -d" + "*Print command for dvi files. +This is usually 'lpr -h -d' to send it to a postscript printer, but you can set +it up so that it is any command that takes a dvi file as its last argument." + :group 'w3-printing + :type 'string) + +(defcustom w3-reuse-buffers 'yes + "What to do when following a link will re-fetch a document that has +already been fetched into a W3 buffer. Possible values are: nil, +'yes, and 'no. Nil means ask the user if we should reuse the buffer. + A value of 'yes means assume the user wants us to reuse the buffer. +A value of 'no means assume the user wants us to re-fetch the document. + +This will also accept: +'no ==> always reload +'yes ==> always reuse +'ask ==> always ask" + :group 'w3-display + :type '(choice (const :tag "Always reload" :value no) + (const :tag "Always reuse" :value yes) + (const :tag "Always ask" :value ask))) + +(defcustom w3-right-margin 2 + "*Default right margin for Emacs-W3 buffers. +This amount is subtracted from (window-width) for each new WWW buffer +and used as the new fill-column." + :group 'w3-display + :type 'integer) + +(defcustom w3-maximum-line-length nil + "*Maximum length of a line. +If nil, then lines can extend all the way to the window margin." + :group 'w3-display + :type 'integer) + +(defcustom w3-track-mouse t + "*Whether to track the mouse and message the url under the mouse." + :group 'w3-display + :type 'boolean) + +(defcustom w3-honor-stylesheets t + "*Whether to let a document specify a CSS stylesheet." + :group 'w3-display + :type 'boolean) + +(defcustom w3-user-colors-take-precedence nil + "*Whether to let a document define certain colors about itself. +Like foreground and background colors and pixmaps, color of links and +visited links, etc." + :group 'w3-display + :type 'boolean) + +;;; Hook Variables +(defcustom w3-load-hook nil + "*Hooks to be run after loading w3." + :group 'w3-hooks + :type 'hook) + +(defcustom w3-mode-hook nil + "*Hooks to be run after entering w3-mode." + :group 'w3-hooks + :type 'hook) + +(defcustom w3-source-file-hook nil + "*Hooks to be run after getting document source." + :group 'w3-hooks + :type 'hook) + +(provide 'w3-cus)