-
-
Notifications
You must be signed in to change notification settings - Fork 680
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allows smooth resizing of MacVim's window #1276
Conversation
Capture of smooth resizing in action below. You can see that the 'cursorline' that's active and the macvim-smooth-resize.mov |
I'm contemplating turning this on by default, but maybe I'll wait a bit to sleep on it and to see if there are any feedbacks on this feature.See #1277. |
ed64d7b
to
b3edaa4
Compare
Adds a setting that allows for smoothly resizing the window. Previously, MacVim would only allow resizing in fixed increment of the grid size and snap to such sizes. This was a little more consistent with how terminals tend to work, and allows for optimal window sizing, and it was also an artifact of the old MacVim renderer where it didn't have a stateful renderer that could repaint the text view. The snapping could be jarring for users more used to modern text editors which allow for smoothly resizing of the window though, and it makes third party tools that could snap macOS windows to the side not work properly as there's usually a gap near the bottom. With guioption-k, MacVim already allows for decoupling the window size from the Vim's grid size anyway, so adding smooth resizing allows to work much better under those assumptions. In addition to allowing smooth resizing, this change also makes it so that the CoreText renderer will fill to the right a little bit when rendering the rightmost column when MacVim's window size isn't exactly the Vim grid size. Previously, if a color scheme has NonText color (e.g. desert), or the user has 'cursorline' set, smooth resize (or in full screen or guioption-k) would leave a gap to the right, looking a little ugly. This allows the last column's to fully fill to the right, resulting in a much more consistent look when resizing the window. Close macvim-dev#948
b3edaa4
to
aa1c720
Compare
Duuuude this is amazing. Wow I never thought this would become reality. (I have used MacVim for what feels like almost 10 years.. maybe its more like 8). How do I actually turn it on? |
As a sidenote, how do I actually download this pre-release dmg? |
To turn it on you would need to go to Preferences and then just turn on smooth resizing.
There is no way to download pre-release dmg for now. I thought about it before but decided not to pursue it at the moment due to the limited use I would imagine it gets. You could build it youself if you want to. There should be a release within September though so you should see it soon! |
Awesome! thank you |
Updated to Vim 9.0.472. Announcements ==================== Sponsors -------------------- MacVim now allows you to sponsor the team! Any amount would be appreciated and it is of course optional. See the announcement (#1271) for more details. Supporting old versions of macOS (10.12 or below) -------------------- Currently, macOS supports macOS 10.9 or above. However, this is getting harder to do so as time goes on (e.g. the latest Xcode doesn't support building for it). In the near future, MacVim will mostly target 10.13 (High Sierra) or above, with 10.9 - 10.12 as legacy support. Visit this discussion (#1288) if you would be affected and would like to know more. Features ==================== Resizing MacVim new options -------------------- You can now smoothly drag and resize MacVim without having it constrained to fixed multiples of the text size, by setting the "Smoothly resizes window" under General preference pane. This also allows MacVim to behave better when used with third-party tools (e.g. BetterSnapTool) to snap it to one side of the screen. #1276 The command line can now be pinned to the bottom of the window with a setting (under Appearance preference pane). This makes it look better aligned when using smooth resizing, or in other situations where the window size is not a direct multiples of Vim's text size (e.g. full screen or guioption+=k). #1280 New supported text styles -------------------- Vim highlight groups `strikethrough`, `underdouble`, `underdotted`, `underdashed` are now supported. #1287 New Vim features -------------------- Virtual text allows you to place custom texts to be displayed inline for diagnostic information and more (e.g. build errors, CSS color preview). See `:help virtual-text` for more information. The default color schemes (e.g. desert) are now fixed to look correct again. Misc options and commands: - `set nosplitscroll` lets you preserve the windows' scroll positions when splitting. (v9.0.0445) - `:defer` allows you to clean up in a function. (v9.0.0370) - `:echowindow` allows you to echo a message to a floating popup message window instead of to the command line. (v9.0.0321) Fixes ==================== - Fixed non-native full screen not working well with the notch on newer MacBook's when set to not show menu bar. You can also use `MMNonNativeFullScreenSafeAreaBehavior` to force MacVim to use the notch area as well if you don't mind some content being obscured. #1261 - Fixed bad interaction when two settings ("Open untitled window: never" and "After last window closes: Quit MacVim") are set together. #1257 - Fixed the bundled Vim tutor not working when launching from the Help menu #1265. - Fix crashing on launch under macOS 10.9. #1212 - Fixed potential crash when switching appearance mode in MacVim preferences. #1270 - Korean localized menus no longer throw a syntax error on launch. #1278 - `did_install_default_menus` should work in MacVim now. #1267 General ==================== Sparkle (updater for MacVim) is now updated to 1.27.1 (#1284), and we no longer use DSA keys for signing updates (#1285) as we are using EdDSA already. Scripting ==================== - Scripting languages versions: - Python is now built against 3.10, up from 3.9. 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.10 - Ruby 3.1
Adds a setting that allows for smoothly resizing the window. Previously, MacVim would only allow resizing in fixed increment of the grid size and snap to such sizes. This was a little more consistent with how terminals tend to work, and allows for optimal window sizing, and it was also an artifact of the old MacVim renderer where it didn't have a stateful renderer that could repaint the text view.
The snapping could be jarring for users more used to modern text editors which allow for smoothly resizing of the window though, and it makes third party tools that could snap macOS windows to the side not work properly as there's usually a gap near the bottom. With guioption-k, MacVim already allows for decoupling the window size from the Vim's grid size anyway, so adding smooth resizing allows to work much better under those assumptions.
In addition to allowing smooth resizing, this change also makes it so that the CoreText renderer will fill to the right a little bit when rendering the rightmost column when MacVim's window size isn't exactly the Vim grid size. Previously, if a color scheme has NonText color (e.g. desert), or the user has 'cursorline' set, smooth resize (or in full screen or guioption-k) would leave a gap to the right, looking a little ugly. This allows the last column's to fully fill to the right, resulting in a much more consistent look when resizing the window.
Close #948