Fix non-native full screen sizing, fix 'fuoptions', allow menus by ychin · Pull Request #1170 · macvim-dev/macvim
Fix misc non-native full screen sizing issues. Previously, in certain cases such as using non-native full screen in a secondary monitor, the non-native full screen window would be offsetted and half the window shown offscreen, making it hard to use. The bug is that we call `resizeVimView` and `centerView` immediately after resizing Vim's frame, but the frame resize only asynchronously calls processInputQueueDidFinish in MMWindowController, which now actually handles all the frame resizing logic. `centerView` was therefore calculating using the wrong info, and tried to center the view on wrong coordinates. Just fix this by removing those two functions as they are no longer needed as processInputQueueDidFinish already does everything. Also, fix `fuopts` to support unsetting maxvert/maxhorz again (this was what `centerView` was trying to do). Simply add hooks to processInputQueueDidFinish to query the non-native full screen window for what the desired size is, instead of just assuming we wan to fill the whole frame. * Fix macvim-dev#509 Also, add a new option `MMNonNativeFullScreenShowMenu` to allow showing the menu bar instead of auto-hiding it while using non-native full screen as it could be useful to show it, and less jarring to switch among different apps. Move preferences around so non-native full screen is now a "regular" option under Apperance instead of Advanced. Also expose the non-native show menu option so it's exposed to users. This is a follow-up to macvim-dev#1155.
added
the
UI
label
Feb 4, 2021
ychin
deleted the
fix-non-native-fullscreen-sizing-fuopts
branch
ychin added a commit that referenced this pull request
Mar 8, 2021Updated to Vim 8.2.2576. Features ==================== Apple Silicon Support -------------------- MacVim's binary release now fully supports Apple Silicon! If you have an M1 Mac you should notice MacVim being more snappy and smoother. #1150 If you would like to (e.g. if you only installed Python 3 in Rosetta and use plugins that use Python), you could run MacVim under Rosetta. You could use `:version` while in MacVim to tell whether you are running in Rosetta / Intel or Apple Silicon by seeing whether it says x86_64 or arm64. (Vim 8.2.2174) If you rely on Python/Ruby/Lua integration, note that previously MacVim by default searches the `/usr/local/` path for installed language runtimes. With this release, MacVim will still search those folders under Intel / x86-64 builds, but under Apple Silicon / M1, MacVim will search under `/opt/homebrew/` instead, which is the default folder for Homebrew under Apple Silicon. If you don't use Homebrew, or installed language runtimes under other folders, you would need to set `python3dll`/`luadll`/`rubydll` in your vimrc. Full Screen Fixes and Improvements -------------------- Removed the fade-to-black animation when transition to full screen, as they were distracting and looked jarring. For non-native full screen, you could set `MMFullScreenFadeTime` to a non-zero value to still get the animation back. #1171 Non-native full screen - Non-native full screen now has an option to show menu bar when it's active (under Appearance preference pane). #1170 - Fixed non-native full screen to properly hide the menu / dock when used on a secondary screen. Also, fixed misc issues with non-native full screen not drawing at the right offset. #7 #1155 #1170 - Fixed non-native full screen's `fuopt` setting. It now works again. This feature allows you to limit only expand horizontally or vertically when using non-native full screen to help focus on the content, see `:help fuopt`. #509 Fixed small bug in Touch Bar's full screen button sometimes not being updated correctly. #1171 Known Issues ==================== Text invisible after plugging in monitor or waking from sleep -------------------- There is currently a known issue in rendering where after plugging/unplugging an external monitor, or waking from sleep when connected to a monitor, there is a small change MacVim will stop drawing text. If you see that, please report that to #1164. This release contains some additional logging to help dignose the issue and we are still looking to root cause it. General ==================== - Added an option to ignore font's line height. r168 introduced a new renderer which changed the behavior for how font's line height works -- instead of ignoring it, the new renderer respects the line height of the font. This new setting allows MacVim to behave in the old way, since some fonts have large line height that the user may not want to use. #1152 Fixes ==================== - Fixed balloon APIs (`balloon_show()` / `balloon_gettext()`) so plugins relying on them should now work. #902 #1064 Misc ==================== - Scripting languages versions: - Ruby is now built against 3.0, up from 2.7. Compatibility ==================== Requires macOS 10.9 or above. Script interfaces have compatibility with these versions: - Lua 5.4 - Perl 5.18 - Python2 2.7 - Python3 3.9 - Ruby 3.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters