summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2008-06-10 19:55:38 +0000
committerChong Yidong <cyd@stupidchicken.com>2008-06-10 19:55:38 +0000
commitba858bf98db2566732ebcd89ec7c3407bdfff949 (patch)
tree0289727e2752ab7a30147f84e4a531817f793ba1 /lisp
parent848767de39a015cc5eb3aa8815867ad1bebb2021 (diff)
downloademacs-ba858bf98db2566732ebcd89ec7c3407bdfff949.tar.gz
(menu-set-font): New function. Bind "Set Default
Font" menu item to it. Apply selected font to all frames, and make it savable. (menu-bar-options-save): Save `default' font if changed.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/menu-bar.el26
1 files changed, 22 insertions, 4 deletions
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index b7972b43ab8..cab0fc32e95 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -627,6 +627,22 @@ by \"Save Options\" in Custom buffers.")
:button (:toggle . (and (default-boundp ',variable)
(default-value ',variable))))))
+;; Function for setting/saving default font.
+
+(defun menu-set-font ()
+ "Interactively select a font and make it the default."
+ (interactive)
+ (let ((font (if (functionp 'x-font-dialog)
+ (x-font-dialog)
+ (mouse-select-font)))
+ spec)
+ (when font
+ (set-face-attribute 'default nil :font font)
+ (setq spec (list (list t (face-attr-construct 'default))))
+ (put 'default 'customized-face spec)
+ (custom-push-theme 'theme-face 'default 'user 'set spec)
+ (put 'default 'face-modified nil))))
+
;;; Assemble all the top-level items of the "Options" menu
(define-key menu-bar-options-menu [customize]
(list 'menu-item "Customize Emacs" menu-bar-custom-menu))
@@ -660,6 +676,8 @@ by \"Save Options\" in Custom buffers.")
(and (get elt 'customized-value)
(customize-mark-to-save elt)
(setq need-save t)))
+ (and (get 'default 'customized-face)
+ (put 'default 'saved-face (get 'default 'customized-face)))
;; Save if we changed anything.
(when need-save
(custom-save-all))))
@@ -671,10 +689,10 @@ by \"Save Options\" in Custom buffers.")
(define-key menu-bar-options-menu [custom-separator]
'("--"))
-(define-key menu-bar-options-menu [mouse-set-font]
- '(menu-item "Set Font/Fontset..." mouse-set-font
- :visible (display-multi-font-p)
- :help "Select a font from list of known fonts/fontsets"))
+(define-key menu-bar-options-menu [menu-set-font]
+ '(menu-item "Set Default Font..." menu-set-font
+ :visible (display-multi-font-p)
+ :help "Select a default font"))
;; The "Show/Hide" submenu of menu "Options"