Mercurial > emacs
changeset 111215:99e2b63fd6dd
Move ns-specific menu-bar code from term/ns-win.el to menu-bar.el.
* lisp/term/ns-win.el (global-map, menu-bar-final-items, menu-bar-help-menu):
Move menu-bar related settings to ../menu-bar.el.
* lisp/menu-bar.el (global-map, menu-bar-final-items, menu-bar-help-menu):
Move ns-specific settings here from term/ns-win.el.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Thu, 28 Oct 2010 00:05:00 -0700 |
parents | b01067bf2ec9 |
children | 5d7d30110595 |
files | lisp/ChangeLog lisp/menu-bar.el lisp/term/ns-win.el |
diffstat | 3 files changed, 57 insertions(+), 61 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Thu Oct 28 06:37:35 2010 +0000 +++ b/lisp/ChangeLog Thu Oct 28 00:05:00 2010 -0700 @@ -1,5 +1,10 @@ 2010-10-28 Glenn Morris <rgm@gnu.org> + * term/ns-win.el (global-map, menu-bar-final-items, menu-bar-help-menu): + Move menu-bar related settings to ../menu-bar.el. + * menu-bar.el (global-map, menu-bar-final-items, menu-bar-help-menu): + Move ns-specific settings here from term/ns-win.el. + * simple.el (x-selection-owner-p): Remove unused declaration. 2010-10-28 Stefan Monnier <monnier@iro.umontreal.ca>
--- a/lisp/menu-bar.el Thu Oct 28 06:37:35 2010 +0000 +++ b/lisp/menu-bar.el Thu Oct 28 00:05:00 2010 -0700 @@ -35,14 +35,33 @@ (define-key global-map [menu-bar] (make-sparse-keymap "menu-bar"))) (defvar menu-bar-help-menu (make-sparse-keymap "Help")) -;; Force Help item to come last, after the major mode's own items. -;; The symbol used to be called `help', but that gets confused with the -;; help key. -(setq menu-bar-final-items '(help-menu)) +(if (not (featurep 'ns)) + ;; Force Help item to come last, after the major mode's own items. + ;; The symbol used to be called `help', but that gets confused with the + ;; help key. + (setq menu-bar-final-items '(help-menu)) + (if (eq system-type 'darwin) + (setq menu-bar-final-items '(buffer services help-menu)) + (setq menu-bar-final-items '(buffer services hide-app quit)) + ;; Add standard top-level items to GNUstep menu. + (define-key global-map [menu-bar quit] + `(menu-item ,(purecopy "Quit") save-buffers-kill-emacs + :help ,(purecopy "Save unsaved buffers, then exit"))) + (define-key global-map [menu-bar hide-app] + `(menu-item ,(purecopy "Hide") ns-do-hide-emacs + :help ,(purecopy "Hide Emacs")))) + (define-key global-map [menu-bar services] ; set-up in ns-win + (cons (purecopy "Services") (make-sparse-keymap "Services")))) -(define-key global-map [menu-bar help-menu] (cons (purecopy "Help") menu-bar-help-menu)) +;; If running under GNUstep, "Help" is moved and renamed "Info" (see below). +(or (and (featurep 'ns) + (not (eq system-type 'darwin))) + (define-key global-map [menu-bar help-menu] + (cons (purecopy "Help") menu-bar-help-menu))) + (defvar menu-bar-tools-menu (make-sparse-keymap "Tools")) -(define-key global-map [menu-bar tools] (cons (purecopy "Tools") menu-bar-tools-menu)) +(define-key global-map [menu-bar tools] + (cons (purecopy "Tools") menu-bar-tools-menu)) ;; This definition is just to show what this looks like. ;; It gets modified in place when menu-bar-update-buffers is called. (defvar global-buffers-menu-map (make-sparse-keymap "Buffers")) @@ -52,9 +71,17 @@ (define-key global-map [menu-bar options] (cons (purecopy "Options") menu-bar-options-menu)) (defvar menu-bar-edit-menu (make-sparse-keymap "Edit")) -(define-key global-map [menu-bar edit] (cons (purecopy "Edit") menu-bar-edit-menu)) +(define-key global-map [menu-bar edit] + (cons (purecopy "Edit") menu-bar-edit-menu)) (defvar menu-bar-file-menu (make-sparse-keymap "File")) -(define-key global-map [menu-bar file] (cons (purecopy "File") menu-bar-file-menu)) +(define-key global-map [menu-bar file] + (cons (purecopy "File") menu-bar-file-menu)) + +;; Put "Help" menu at the front, called "Info". +(and (featurep 'ns) + (not (eq system-type 'darwin)) + (define-key global-map [menu-bar help-menu] + (cons (purecopy "Info") menu-bar-help-menu))) ;; This alias is for compatibility with 19.28 and before. (defvar menu-bar-files-menu menu-bar-file-menu) @@ -458,7 +485,6 @@ ,(purecopy "Delete the text in region between mark and current position"))) (defvar yank-menu (cons (purecopy "Select Yank") nil)) (fset 'yank-menu (cons 'keymap yank-menu)) -;; The ns differences here seem silly. (define-key menu-bar-edit-menu (if (featurep 'ns) [select-paste] [paste-from-menu]) ;; ns-win.el said: Change text to be more consistent with @@ -1028,47 +1054,47 @@ (defvar menu-bar-showhide-tool-bar-menu (make-sparse-keymap "Tool-bar")) (define-key menu-bar-showhide-tool-bar-menu [showhide-tool-bar-left] - `(menu-item ,(purecopy "On the left") + `(menu-item ,(purecopy "On the left") menu-bar-showhide-tool-bar-menu-customize-enable-left :help ,(purecopy "Tool-bar at the left side") :visible (display-graphic-p) - :button - (:radio . (and tool-bar-mode + :button + (:radio . (and tool-bar-mode (eq (frame-parameter nil 'tool-bar-position) 'left))))) (define-key menu-bar-showhide-tool-bar-menu [showhide-tool-bar-right] - `(menu-item ,(purecopy "On the right") + `(menu-item ,(purecopy "On the right") menu-bar-showhide-tool-bar-menu-customize-enable-right :help ,(purecopy "Tool-bar at the right side") :visible (display-graphic-p) :button - (:radio . (and tool-bar-mode + (:radio . (and tool-bar-mode (eq (frame-parameter nil 'tool-bar-position) 'right))))) (define-key menu-bar-showhide-tool-bar-menu [showhide-tool-bar-bottom] - `(menu-item ,(purecopy "On the bottom") + `(menu-item ,(purecopy "On the bottom") menu-bar-showhide-tool-bar-menu-customize-enable-bottom :help ,(purecopy "Tool-bar at the bottom") :visible (display-graphic-p) :button - (:radio . (and tool-bar-mode + (:radio . (and tool-bar-mode (eq (frame-parameter nil 'tool-bar-position) 'bottom))))) (define-key menu-bar-showhide-tool-bar-menu [showhide-tool-bar-top] - `(menu-item ,(purecopy "On the top") + `(menu-item ,(purecopy "On the top") menu-bar-showhide-tool-bar-menu-customize-enable-top :help ,(purecopy "Tool-bar at the top") :visible (display-graphic-p) :button - (:radio . (and tool-bar-mode + (:radio . (and tool-bar-mode (eq (frame-parameter nil 'tool-bar-position) 'top))))) (define-key menu-bar-showhide-tool-bar-menu [showhide-tool-bar-none] - `(menu-item ,(purecopy "None") + `(menu-item ,(purecopy "None") menu-bar-showhide-tool-bar-menu-customize-disable :help ,(purecopy "Turn tool-bar off") :visible (display-graphic-p) @@ -1688,6 +1714,13 @@ `(menu-item ,(purecopy "Emacs Tutorial") help-with-tutorial :help ,(purecopy "Learn how to use Emacs"))) +;; In OS X it's in the app menu already. +;; FIXME? There already is an "About Emacs" (sans ...) entry in the Help menu. +(and (featurep 'ns) + (not (eq system-type 'darwin)) + (define-key menu-bar-help-menu [info-panel] + `(menu-item ,(purecopy "About Emacs...") ns-do-emacs-info-panel))) + (defun menu-bar-menu-frame-live-and-visible-p () "Return non-nil if the menu frame is alive and visible. The menu frame is the frame for which we are updating the menu."
--- a/lisp/term/ns-win.el Thu Oct 28 06:37:35 2010 +0000 +++ b/lisp/term/ns-win.el Thu Oct 28 00:05:00 2010 -0700 @@ -186,48 +186,6 @@ (declare-function ns-do-applescript "nsfns.m" (script)) (defalias 'do-applescript 'ns-do-applescript) -;; Add a couple of menus and rearrange some others; easiest just to redo toplvl -;; Note keymap defns must be given last-to-first -(define-key global-map [menu-bar] (make-sparse-keymap "menu-bar")) - -(setq menu-bar-final-items - (cond ((eq system-type 'darwin) - '(buffer services help-menu)) - ;; Otherwise, GNUstep. - (t - '(buffer services hide-app quit)))) - -;; Add standard top-level items to GNUstep menu. -(unless (eq system-type 'darwin) - (define-key global-map [menu-bar quit] '("Quit" . save-buffers-kill-emacs)) - (define-key global-map [menu-bar hide-app] '("Hide" . ns-do-hide-emacs))) - -(define-key global-map [menu-bar services] - (cons "Services" (make-sparse-keymap "Services"))) -(define-key global-map [menu-bar buffer] - (cons "Buffers" global-buffers-menu-map)) -;; (cons "Buffers" (make-sparse-keymap "Buffers"))) -(define-key global-map [menu-bar tools] (cons "Tools" menu-bar-tools-menu)) -(define-key global-map [menu-bar options] (cons "Options" menu-bar-options-menu)) -(define-key global-map [menu-bar edit] (cons "Edit" menu-bar-edit-menu)) -(define-key global-map [menu-bar file] (cons "File" menu-bar-file-menu)) - -;; If running under GNUstep, rename "Help" to "Info" -(cond ((eq system-type 'darwin) - (define-key global-map [menu-bar help-menu] - (cons "Help" menu-bar-help-menu))) - (t - (let ((contents (reverse (cdr menu-bar-help-menu)))) - (setq menu-bar-help-menu - (append (list 'keymap) (cdr contents) (list "Info")))) - (define-key global-map [menu-bar help-menu] - (cons "Info" menu-bar-help-menu)))) - -(if (not (eq system-type 'darwin)) - ;; in OS X it's in the app menu already - (define-key menu-bar-help-menu [info-panel] - '("About Emacs..." . ns-do-emacs-info-panel))) - ;;;; Services (declare-function ns-perform-service "nsfns.m" (service send))