aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/cus-edit.el
diff options
context:
space:
mode:
authorChong Yidong <[email protected]>2005-10-23 17:40:38 +0000
committerChong Yidong <[email protected]>2005-10-23 17:40:38 +0000
commit87911bdbb8a6afe8c57e82df8a80bc0e1384dd85 (patch)
treec4416118a070ed7eaddf0ba42dcabafb3e67ca36 /lisp/cus-edit.el
parentf6a18aa2a406fedda37c34628c25d01b4e88834d (diff)
* 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.el57
1 files changed, 50 insertions, 7 deletions
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 696fd66543..40e26834c8 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