macOS Trackpad/Mousewheel Variables
There are a few customization options that are specific to the Nextstep port. For example, they affect things such as the modifier keys and the fullscreen behavior. To see all such options, use M-x customize-group =RET ns RET=. The following variables control the behavior of the actual modifier keys:
- ns-alternate-modifier, ns-right-alternate-modifier
- The left and right
OptionorAltkeys. - ns-command-modifier, ns-right-command-modifier
- The left and right
Commandkeys. - ns-control-modifier, ns-right-control-modifier
- The left and right
Controlkeys. - ns-function-modifier
- The
Function(fn) key.
The value of each variable is either a symbol, describing the key for any purpose, or a list of the form (:ordinary /symbol/ :function /symbol/ :mouse /symbol/), which describes the modifier when used with ordinary keys, function keys (that do not produce a character, such as arrow keys), and mouse clicks. If the symbol is one of control, meta, alt, super or hyper, this describes the Emacs modifier it represents. If symbol is none, Emacs does not use the key, which retains its standard behavior. For instance, the Option key in macOS is then used for composing additional characters. The variables for right-hand keys, like ns-right-alternate-modifier, may also be set to left, which means to use the same behavior as the corresponding left-hand key.
- ns-use-proxy-icon
- This variable specifies whether to display the proxy icon in the titlebar. The proxy icon can be used to drag the file associated with the current buffer to other applications, a printer, the desktop, etc., in the same way you can from Finder. You might have to disable
tool-bar-modeto see the proxy icon. - ns-confirm-quit
- This variable specifies whether to display a graphical confirmation dialog on quitting.
- ns-auto-hide-menu-bar
- This variable specifies whether the macOS menu bar is hidden when an Emacs frame is selected. If non-
nilthe menu bar is not shown unless the mouse pointer is moved near to the top of the screen. - ns-use-native-fullscreen
- This variable controls whether to use native, or non-native fullscreen. Native fullscreen is only available on macOS 10.7 and above.
These variables only apply to macOS 10.7 (Lion) and above.
- ns-use-mwheel-acceleration
- This variable controls whether Emacs ignores the system mousewheel acceleration. When
nileach `click' of the mousewheel will correspond exactly with one mousewheel event. When non-nil, the default, each `click' may correspond with more than one mousewheel event, depending on the user's input. - ns-use-mwheel-momentum
- This variable controls whether Emacs ignores the system `momentum' when scrolling using a trackpad. When non-
nil, the default, scrolling rapidly may result in the buffer continuing to scroll for a short while after the user has lifted their fingers off the trackpad. - ns-mwheel-line-height
- This variable controls the sensitivity of scrolling with the trackpad. Apple trackpads scroll by pixels, not lines, so Emacs converts the system's pixel values into lines. When set to a number, this variable sets the number of pixels Emacs will consider as one line. When
nilor a non-number the default line height is used. Setting a lower number makes the trackpad more sensitive, and a higher number makes the trackpad less sensitive.