diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2005-10-23 17:40:38 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2005-10-23 17:40:38 +0000 |
commit | 57aad3995f0214d2e3f15125cc2bd1e31e4d18d8 (patch) | |
tree | 1b4f984c72815f1efff38eb9dd2b7e588665d521 /lisp/cus-edit.el | |
parent | 1c9bb849b7ad2770d631b17e7c91570e2ac99d00 (diff) | |
download | emacs-57aad3995f0214d2e3f15125cc2bd1e31e4d18d8.tar.gz |
* cus-edit.el (custom-button, custom-button-pressed): New vars.
(custom-raised-buttons): Add :set spec.
(custom-button-unraised, custom-button-pressed-unraised): New
faces, so that custom-raised-buttons actually does something.
(custom-mode): Use custom-button and custom-button-pressed.
* wid-edit.el (widget-specify-button): Don't ignore
widget-mouse-face on graphic terminals.
(widget-move-and-invoke): Cleanup.
Diffstat (limited to 'lisp/cus-edit.el')
-rw-r--r-- | lisp/cus-edit.el | 57 |
1 files changed, 50 insertions, 7 deletions
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index 696fd66543a..40e26834c83 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el @@ -1377,13 +1377,27 @@ This button will have a menu with all three reset operations." (interactive) (quit-window custom-buffer-done-kill)) +(defvar custom-button nil + "Face used for buttons in customization buffers.") + +(defvar custom-button-pressed nil + "Face used for pressed buttons in customization buffers.") + (defcustom custom-raised-buttons (not (equal (face-valid-attribute-values :box) '(("unspecified" . unspecified)))) "If non-nil, indicate active buttons in a `raised-button' style. Otherwise use brackets." :type 'boolean :version "21.1" - :group 'custom-buffer) + :group 'custom-buffer + :set (lambda (variable value) + (custom-set-default variable value) + (setq custom-button + (if value 'custom-button 'custom-button-unraised)) + (setq custom-button-pressed + (if value + 'custom-button-pressed + 'custom-button-pressed-unraised)))) (defun custom-buffer-create-internal (options &optional description) (custom-mode) @@ -1896,24 +1910,52 @@ and `face'." :background "lightgrey" :foreground "black")) (t nil)) - "Face used for buttons in customization buffers." + "Face for custom buffer buttons if `custom-raised-buttons' is non-nil." :version "21.1" :group 'custom-faces) ;; backward-compatibility alias (put 'custom-button-face 'face-alias 'custom-button) +(defface custom-button-unraised + '((((min-colors 88) + (class color) (background light)) :foreground "blue1" :underline t) + (((class color) (background light)) :foreground "blue" :underline t) + (((min-colors 88) + (class color) (background dark)) :foreground "cyan1" :underline t) + (((class color) (background dark)) :foreground "cyan" :underline t) + (t :underline t)) + "Face for custom buffer buttons if `custom-raised-buttons' is nil." + :version "22.1" + :group 'custom-faces) + +(setq custom-button + (if custom-raised-buttons 'custom-button 'custom-button-unraised)) + (defface custom-button-pressed '((((type x w32 mac) (class color)) (:box (:line-width 2 :style pressed-button) :background "lightgrey" :foreground "black")) (t (:inverse-video t))) - "Face used for buttons in customization buffers." + "Face for pressed custom buttons if `custom-raised-buttons' is non-nil." :version "21.1" :group 'custom-faces) ;; backward-compatibility alias (put 'custom-button-pressed-face 'face-alias 'custom-button-pressed) +(defface custom-button-pressed-unraised + '((default :inherit custom-button-unraised) + (((class color) (background light)) :foreground "magenta4") + (((class color) (background dark)) :foreground "violet")) + "Face for pressed custom buttons if `custom-raised-buttons' is nil." + :version "22.1" + :group 'custom-faces) + +(setq custom-button-pressed + (if custom-raised-buttons + 'custom-button-pressed + 'custom-button-pressed-unraised)) + (defface custom-documentation nil "Face used for documentation strings in customization buffers." :group 'custom-faces) @@ -4311,10 +4353,11 @@ if that value is non-nil." (make-local-variable 'widget-documentation-face) (setq widget-documentation-face 'custom-documentation) (make-local-variable 'widget-button-face) - (setq widget-button-face 'custom-button) - (set (make-local-variable 'widget-button-pressed-face) 'custom-button-pressed) - (set (make-local-variable 'widget-mouse-face) - 'custom-button-pressed) ; buttons `depress' when moused + (setq widget-button-face custom-button) + (set (make-local-variable 'widget-button-pressed-face) custom-button-pressed) + (if custom-raised-buttons + (set (make-local-variable 'widget-mouse-face) custom-button)) + ;; When possible, use relief for buttons, not bracketing. This test ;; may not be optimal. (when custom-raised-buttons |