diff options
| author | Chong Yidong | 2008-06-10 19:55:38 +0000 |
|---|---|---|
| committer | Chong Yidong | 2008-06-10 19:55:38 +0000 |
| commit | ba858bf98db2566732ebcd89ec7c3407bdfff949 (patch) | |
| tree | 0289727e2752ab7a30147f84e4a531817f793ba1 | |
| parent | 848767de39a015cc5eb3aa8815867ad1bebb2021 (diff) | |
| download | emacs-ba858bf98db2566732ebcd89ec7c3407bdfff949.tar.gz emacs-ba858bf98db2566732ebcd89ec7c3407bdfff949.zip | |
(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.
| -rw-r--r-- | lisp/menu-bar.el | 26 |
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.") | |||
| 627 | :button (:toggle . (and (default-boundp ',variable) | 627 | :button (:toggle . (and (default-boundp ',variable) |
| 628 | (default-value ',variable)))))) | 628 | (default-value ',variable)))))) |
| 629 | 629 | ||
| 630 | ;; Function for setting/saving default font. | ||
| 631 | |||
| 632 | (defun menu-set-font () | ||
| 633 | "Interactively select a font and make it the default." | ||
| 634 | (interactive) | ||
| 635 | (let ((font (if (functionp 'x-font-dialog) | ||
| 636 | (x-font-dialog) | ||
| 637 | (mouse-select-font))) | ||
| 638 | spec) | ||
| 639 | (when font | ||
| 640 | (set-face-attribute 'default nil :font font) | ||
| 641 | (setq spec (list (list t (face-attr-construct 'default)))) | ||
| 642 | (put 'default 'customized-face spec) | ||
| 643 | (custom-push-theme 'theme-face 'default 'user 'set spec) | ||
| 644 | (put 'default 'face-modified nil)))) | ||
| 645 | |||
| 630 | ;;; Assemble all the top-level items of the "Options" menu | 646 | ;;; Assemble all the top-level items of the "Options" menu |
| 631 | (define-key menu-bar-options-menu [customize] | 647 | (define-key menu-bar-options-menu [customize] |
| 632 | (list 'menu-item "Customize Emacs" menu-bar-custom-menu)) | 648 | (list 'menu-item "Customize Emacs" menu-bar-custom-menu)) |
| @@ -660,6 +676,8 @@ by \"Save Options\" in Custom buffers.") | |||
| 660 | (and (get elt 'customized-value) | 676 | (and (get elt 'customized-value) |
| 661 | (customize-mark-to-save elt) | 677 | (customize-mark-to-save elt) |
| 662 | (setq need-save t))) | 678 | (setq need-save t))) |
| 679 | (and (get 'default 'customized-face) | ||
| 680 | (put 'default 'saved-face (get 'default 'customized-face))) | ||
| 663 | ;; Save if we changed anything. | 681 | ;; Save if we changed anything. |
| 664 | (when need-save | 682 | (when need-save |
| 665 | (custom-save-all)))) | 683 | (custom-save-all)))) |
| @@ -671,10 +689,10 @@ by \"Save Options\" in Custom buffers.") | |||
| 671 | (define-key menu-bar-options-menu [custom-separator] | 689 | (define-key menu-bar-options-menu [custom-separator] |
| 672 | '("--")) | 690 | '("--")) |
| 673 | 691 | ||
| 674 | (define-key menu-bar-options-menu [mouse-set-font] | 692 | (define-key menu-bar-options-menu [menu-set-font] |
| 675 | '(menu-item "Set Font/Fontset..." mouse-set-font | 693 | '(menu-item "Set Default Font..." menu-set-font |
| 676 | :visible (display-multi-font-p) | 694 | :visible (display-multi-font-p) |
| 677 | :help "Select a font from list of known fonts/fontsets")) | 695 | :help "Select a default font")) |
| 678 | 696 | ||
| 679 | ;; The "Show/Hide" submenu of menu "Options" | 697 | ;; The "Show/Hide" submenu of menu "Options" |
| 680 | 698 | ||