On system where Menlo is missing (i.e. OS X 10.5 and earlier) Monaco will be used instead.
- dialog support not implemented yet - live resizing not supported
Ignoring SIGCHLD caused problems with automatic updating (Sparkle) since it uses popen() (and hence implicitly uses wait4()) to unpack archives. Now that SIGCHLD is no longer ignored we have to reap child processes after exiting a Vim process as well as when MacVim is about to terminate.
The "Advanced" pane can be used to control the preload cache size.
The preferences panel allow for more ways to open files from other applications. This is controlled by three user preferences: - MMOpenInCurrentWindow - MMOpenLayout - MMVerticalSplit These options are also respected when dropping files on a window. The quickstart feature is currently disabled by default and can be enabled by setting the user default MMPreloadCacheSize to a positive integer. With it enabled, new windows open more or less instantaneously.
Supports automatic loading of plugins. Plugins can: add "GUI panels" (which appear in a drawer for now), add global menu items, execute arbitrary Vim script inside its associated Vim instance. Also add routines to evaluate expressions in Vim and automatically convert returned value to a Cocoa object.
The files Miscellaneous.[m|h] should be used for code common to the frontend only (code shared with backend belongs in MacVim.[h|m]). Some code has been moved from MacVim.[h|m] and some from other frontend source files. Some code from the previous commit has also been restructured.
MMVimController uses a copy of the "MacVim" menu that is defined inside MainMenu.nib instead of getting it from the default main menu. This ensures that the "Services" menu is initially empty for each new MMVimController. Without this the setKeyEquivalent: call would fail if the key equivalent already was in a "Services" menu item (e.g. <D-F> and <D-L> would fail).
Fixes bug where the above items were enabled even when all windows were minimized.
The LCC (Logitech Control Center) comes with an input manager which registers its own root object with the default NSConnection. MacVim uses the root object of the default connection to vend the frontend object, so LCC would cause MacVim to never open any new windows. To work around this problem the default connection is no longer used in MacVim, instead a new connection is created and this connection is used to vend the frontend object instead.
The recent files menu will only remember files opened from Finder and not files opened from within Vim (via :e etc.). Recent files will also be added to the "Recent Items" menu under the Apple menu. (Patch by Nico Weber with some modifications by Bjorn Winckler.)
Add "MacVim Help" item with <D-?> key equivalent, as well as a "MacVim Website" item which opens up the MacVim website in the user's default browser.
The preference panel is very simplistic at the moment. We might want to consider making it a Safari-style preference panel if the number of preferences increase.
Use Launch Services when launching MacVim from a Vim process instead of using NSTask. Added user default 'MMUntitledWindow' which controls when an untitled window should open. It can take the following values: 0 = Never open untitled window 1 = Open untitled window on 'Open' event 2 = Open untitled window on 'Reopen' event 3 = Open untitled window on both 'Open' and 'Reopen' events
The File->Open dialog lets the user choose one or more files which are opened in tabs in a new window; it replaces the behaviour where File->Open presented a sheet which opened (at most) one file in the topmost window. This conforms better with the standard File->Open behaviour of Mac apps.
Programs that support ODB asks MacVim to open files. When a file is written or closed, MacVim notifies the program of these events. (At the moment the 'Burl' parameter is parsed but ignored. The 'RdEV' parameter is ignored.)