Only maximize full-screen window on certain events, such as toggling tab line or scrollbars. This modifies the behavior introduced in commit 88fc234 which could cause problems upon entering full-screen.
Also compensate for tabline if it is visible by adding another row to the autosaved rows.
Binding <Backspace> in the sytem gvimrc caused problems with plugins, so restore the hard-coded binding instead.
This reverts commit ec80934.
Handle spaces in output directories
imdisable should not affect drawing the underline for inline IM inputs.
For example, if the tabline or a scrollbar is hidden then the window will resize so that it stays maximized (in full-screen). (A side-effect is that ":set co=.." does nothing in full-screen if 'fuopt' includes "maxhorz".)
Fix capitalization typo in Xcode project
This only applies when running Mac OS X 10.7+.
The original fix for opening a new window while in full-screen was flawed. This commit takes a new approach and corrects problems related to opening a new window while MacVim was in full-screen as well as problems with using "mvim" from a full-screen Terminal window.
Don't switch window to full-screen after presenting it if for some reason the application is no longer in full-screen. Seems to happen sometimes when starting MacVim from a full-screen Terminal window.
The boolean user default MMNativeFullScreen can be used to control whether to use native or custom full-screen. Set to 0 for custom, set to 1 for native full-screen, for example $ defaults write org.vim.MacVim MMNativeFullScreen 0 The default is to use native full-screen when available. This user default does nothing on pre-Lion Mac OS X. Also conditionally call Lion APIs so that it is possible to compile with 10.7 SDK but still support 10.6 (nb. 10.5 and earlier SDKs are not supported as of Xcode 4). (Suggestion and initial patch by @splhack.)
The default for 'fuopt' is now "maxhorz,maxvert". Update help to reflect this and add note that the background option of 'fuopt' is not supported when using Mac OS X native full screen mode.
Also update the help. The delete key used to be hard coded in the source but now it is mapped in MacVim's gvimrc file instead.
The toolbar will pop up when the mouse is moved to the top of the screen in full screen mode if and only if it is visible outside of full screen mode. Bug: if the toolbar is toggled in full screen mode then sometimes it is no longer possible to enable it after exiting full screen.
Keep the window centered in full screen when it changes size. At the moment the Lion full screen background is shown around the window, meaning that the "background" option of 'fuopt' is ignored. The animation when entering full screen is now a fade out of the decorated window, followed by a fade in of the full screen window. Any attempts at making an animation of the window frame failed because of the way content is drawn (by pushing drawing updates). For this reason I settled on a fade animation which is not exactly pretty, but at least it is as objectionable as the default animation. A side effect of implementing a custom animation is that the correct window now gets focus when closing a full screen window.
This causes a window to animate when it opens just like windows in other Lion apps do.
A remaining problem is that if there is another window open then it does not get focus when the full screen window closes.
This fixes a bug where the 'fu' option would not be updated when clicking the full screen button in the top right corner of a window.