X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/b6bd159922608fa474026837771d63bf7eadcf97..ba3189039adc8ec5eba5ed3e21d42019a4616b7c:/doc/emacs/macos.texi diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi index 85d92c9fcd..eb2d96e9af 100644 --- a/doc/emacs/macos.texi +++ b/doc/emacs/macos.texi @@ -1,7 +1,7 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2000-2011 Free Software Foundation, Inc. +@c Copyright (C) 2000-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. -@node Mac OS / GNUstep, Microsoft Windows, Antinews, Top +@node Mac OS / GNUstep @appendix Emacs and Mac OS / GNUstep @cindex Mac OS X @cindex Macintosh @@ -11,8 +11,8 @@ the GNUstep libraries on GNU/Linux or other operating systems, or on Mac OS X with native window system support. On Mac OS X, Emacs can be built either without window system support, with X11, or with the -Cocoa interface; this section only applies to the Cocoa build. Emacs -does not support earlier versions of Mac OS. +Cocoa interface; this section only applies to the Cocoa build. This +does not support versions of Mac OS X earlier than 10.4. For various historical and technical reasons, Emacs uses the term @samp{Nextstep} internally, instead of ``Cocoa'' or ``Mac OS X''; for @@ -21,7 +21,7 @@ begin with @samp{ns-}, which is short for @samp{Nextstep}. NeXTstep was an application interface released by NeXT Inc during the 1980s, of which Cocoa is a direct descendant. Apart from Cocoa, there is another NeXTstep-style system: GNUstep, which is free software. As of -this writing, the GNUstep support is alpha status (@pxref{GNUstep +this writing, Emacs GNUstep support is alpha status (@pxref{GNUstep Support}), but we hope to improve it in the future. @menu @@ -31,46 +31,42 @@ Support}), but we hope to improve it in the future. * GNUstep Support:: Details on status of GNUstep support. @end menu -@node Mac / GNUstep Basics, Mac / GNUstep Customization, , Mac OS / GNUstep +@node Mac / GNUstep Basics @section Basic Emacs usage under Mac OS and GNUstep By default, the @key{alt} and @key{option} keys are the same as @key{Meta}. The Mac @key{Cmd} key is the same as @key{Super}, and -Emacs provides a set of keybindings using this modifier key that mimic +Emacs provides a set of key bindings using this modifier key that mimic other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You can change these bindings in the usual way (@pxref{Key Bindings}). +@vindex ns-alternate-modifier +@vindex ns-right-alternate-modifier The variable @code{ns-right-alternate-modifier} controls the behavior of the right @key{alt} and @key{option} keys. These keys behave like the left-hand keys if the value is @code{left} (the default). A value of @code{control}, @code{meta}, @code{alt}, @code{super}, or @code{hyper} makes them behave like the corresponding -modifier keys; a value of @code{none} tells Emacs to ignore them. - - The standard Mac / GNUstep font and color panels are accessible via -Lisp commands. To use the color panel, drag from it to an Emacs frame -to change the foreground color of the face at that position (if the -@key{shift} key is held down, it changes the background color -instead). To discard the settings, create a new frame and close the -altered one. - - @key{S-Mouse-1} (i.e., clicking the left mouse button -while holding down the @key{Shift} key) adjusts the region to the -click position, just like @key{Mouse-3} (@code{mouse-save-then-kill}); -it does not pop up a menu for changing the default face, as -@key{S-Mouse-1} normally does (@pxref{Temporary Face Changes}). This -change makes Emacs behave more like other Mac / GNUstep applications. +modifier keys; a value to @code{left} means be the same key as +@code{ns-alternate-modifier}; a value of @code{none} tells Emacs to +ignore them. + + @kbd{S-Mouse-1} adjusts the region to the click position, +just like @kbd{Mouse-3} (@code{mouse-save-then-kill}); it does not pop +up a menu for changing the default face, as @kbd{S-Mouse-1} normally +does (@pxref{Text Scale}). This change makes Emacs behave more like +other Mac / GNUstep applications. When you open or save files using the menus, or using the -@key{Cmd-o} and @key{Cmd-S} bindings, Emacs uses graphical file +@kbd{Cmd-o} and @kbd{Cmd-S} bindings, Emacs uses graphical file dialogs to read file names. However, if you use the regular Emacs key -sequences, such as @key{C-x C-f}, Emacs uses the minibuffer to read +sequences, such as @kbd{C-x C-f}, Emacs uses the minibuffer to read file names. - On GNUstep, in an X-windows environment you need to use @key{Cmd-c} -instead of one of the @key{C-w} or @key{M-w} commands to transfer text + On GNUstep, in an X-windows environment you need to use @kbd{Cmd-c} +instead of one of the @kbd{C-w} or @kbd{M-w} commands to transfer text to the X primary selection; otherwise, Emacs will use the -``clipboard'' selection. Likewise, @key{Cmd-y} (instead of @key{C-y}) +``clipboard'' selection. Likewise, @kbd{Cmd-y} (instead of @kbd{C-y}) yanks from the X primary selection instead of the kill-ring or clipboard. @@ -91,7 +87,7 @@ For the PATH and MANPATH variables, a system-wide method of setting PATH is recommended on Mac OS X 10.5 and later, using the @file{/etc/paths} files and the @file{/etc/paths.d} directory. -@node Mac / GNUstep Customization, Mac / GNUstep Events, Mac / GNUstep Basics, Mac OS / GNUstep +@node Mac / GNUstep Customization @section Mac / GNUstep Customization Emacs can be customized in several ways in addition to the standard @@ -100,37 +96,39 @@ customization buffers and the Options menu. @subsection Font and Color Panels -The Font Panel may be accessed with M-x ns-popup-font-panel. It -will set the default font in the frame most recently used or clicked -on. +The standard Mac / GNUstep font and color panels are accessible via +Lisp commands. The Font Panel may be accessed with @kbd{M-x +ns-popup-font-panel}. It will set the default font in the frame most +recently used or clicked on. @c To make the setting permanent, use @samp{Save Options} in the @c Options menu, or run @code{menu-bar-options-save}. -You can bring up a color panel with M-x ns-popup-color-panel. and -drag the color you want over the emacs face you want to change. Normal +You can bring up a color panel with @kbd{M-x ns-popup-color-panel} and +drag the color you want over the Emacs face you want to change. Normal dragging will alter the foreground color. Shift dragging will alter the -background color. +background color. To discard the settings, create a new frame and +close the altered one. @c To make the changes permanent select the "Save Options" @c item in the "Options" menu, or run @code{menu-bar-options-save}. -Useful in this context is the listing of all faces obtained by @key{M-x} -@code{list-faces-display}. +Useful in this context is the listing of all faces obtained by +@kbd{M-x list-faces-display}. + +@subsection Customization options specific to Mac OS / GNUstep -@subsection Open files by dragging to an Emacs window +The following customization options are specific to the Nextstep port. -The default behaviour when a user drags files from another application -into an Emacs frame is to insert the contents of all the dragged files -into the current buffer. To remap the @code{ns-drag-file} event to -open the dragged files in the current frame use the following line: +@table @code +@item ns-auto-hide-menu-bar +Non-nil means the menu-bar is hidden by default, but appears if you +move the mouse pointer over it. (Requires Mac OS X 10.6 or later.) -@lisp -(define-key global-map [ns-drag-file] 'ns-find-file) -@end lisp +@end table -@node Mac / GNUstep Events, GNUstep Support, Mac / GNUstep Customization, Mac OS / GNUstep +@node Mac / GNUstep Events @section Windowing System Events under Mac OS / GNUstep Nextstep applications receive a number of special events which have @@ -147,12 +145,12 @@ Emacs open a file. A typical reason for this would be a user double-clicking a file in the Finder application. By default, Emacs responds to this event by opening a new frame and visiting the file in that frame (@code{ns-find-file}). As an exception, if the selected -buffer is the @samp{*scratch*} buffer, Emacs visits the file in the +buffer is the @file{*scratch*} buffer, Emacs visits the file in the selected frame. -You can change how Emacs responds to @key{ns-open-file} by changing -the variable @code{ns-pop-up-frames}. Its default value, -@code{'fresh}, is what we have just described. A value of @code{t} +You can change how Emacs responds to a @code{ns-open-file} event by +changing the variable @code{ns-pop-up-frames}. Its default value, +@samp{fresh}, is what we have just described. A value of @code{t} means to always visit the file in a new frame. A value of @code{nil} means to always visit the file in an existing frame. @@ -199,7 +197,7 @@ The default behavior is to save all file-visiting buffers. Emacs also allows users to make use of Nextstep services, via a set of commands whose names begin with @samp{ns-service-} and end with the -name of the service. Type @kbd{M-x ns-service-@key{TAB}@key{TAB}} to +name of the service. Type @kbd{M-x ns-service-@key{TAB}} to see a list of these commands. These functions either operate on marked text (replacing it with the result) or take a string argument and return the result as a string. You can also use the Lisp function @@ -207,9 +205,15 @@ and return the result as a string. You can also use the Lisp function services and receive the results back. Note that you may need to restart Emacs to access newly-available services. -@node GNUstep Support, , Mac / GNUstep Events, Mac OS / GNUstep +@node GNUstep Support @section GNUstep Support -Emacs can be built and run under GNUstep, but there are still some +Emacs can be built and run under GNUstep, but there are still issues to be addressed. Interested developers should contact +@ifnothtml @email{emacs-devel@@gnu.org}. +@end ifnothtml +@ifhtml +@url{http://lists.gnu.org/mailman/listinfo/emacs-devel, the +emacs-devel mailing list}. +@end ifhtml