-
-
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
Not showing new window in OS X 10.9 #1212
Comments
Hi, could you try with clean defaults and clean
it's actually a very useful find! Looking by a "terminal" keyword, I'd like to ask you to test your setup with releases 164 and 166. with clean configuration and no defaults. As I see some problems in 168 and 169, I suggest to try 170/171 after that. There was no release message about fixes, but they might be fixed |
I can try to run this in a VM. 10.9 is definitely on legacy support so it isn't very well tested. I think this is the transparent titlebar support and I think we just need to add some checks to make sure it doesn't call it on old version of OSX.
Do you know what "ancient one" means? a few months / a year / a few years ago? |
I am sorry, I added those extra pieces into the original post, it might have been missed. So once again:
I tried to compile recent git version and it fails on XIB file for preferences compilation. The file is for X Code 8.0 and up, there is only XCode 6.2 on 10.9. I don't really understand UI Designer being mostly just a console guy. :-) Sorry. |
Is there a reason why you need to build MacVim from scratch? Because we moved from NIB to XIB it could be hard for you to build locally on 10.9 |
No real reason. I just wanted to give it a try, with an opportunity to try a bit of debugging. But it's really of a very little use for me, I usually program in plain C. |
I also can't get MacVim to open any windows on macOS 10.14.6 when I start it conventionally. Since opening it from a shell seems to work as expected, I created a one-line script to start it that way and tested it successfully. Then I tried to get rid of the script opening a terminal window by copying the script's content into a shell script section of an Automator Application. Weirdly, executing that application leads to the same result as opening MacVim conventionally. Even when I call my shell script from there instead of copying its content. I hope this can point someone in the direction of at least some part of the problem. |
I tried a new 173 version and I must admit, that the issue is all the same: 2022-08-08 00:21:15.198 MacVim[13815:507] -[MMWindow setTitlebarAppearsTransparent:]: unrecognized selector sent to instance 0x7fb8a1c7d590 ...no new window... |
Thanks for reminding me about this issue. I'll set up some VMs to test it. I do wish GitHub Action provides older VMs but I guess generally Apple dislikes maintaining older versions of OSes like this. |
Btw @d-c , if you are comfortable, do you mind giving some context as to why you are using macOS 10.9? Reason I’m asking is that while it’s still the minimum version supported, it’s getting harder to support as time passes. For example, Sparkle 2 (the updater we use to update MacVim) requires 10.11. We are using Sparkle 1 which is fine for now but eventually we may have to upgrade. 10.9 is 8 years old now, and both 10.10 and 10.11 have the same system requirements as 10.9 so hardware should not be an issue. Is it simply because you prefer it? |
@ychin IMHO is 10.9 the Apple's top system according to ergonomic use, compatibility with SW (some of which was quite expensive), design and stability. I have used quite a lot of systems (and tough trainings on some of them), so I am not comparing just a few impressions. I have tried newer OS X and macOS systems. One difficulty for me is screen handling. It might be well readable on a retina screen, but $2k+ profi CGs by EIZO seem unreadable. Other is that newer systems are kind of broken in regard of security (from stupid "business" reasons - e. g. to let unprivileged users buy and run apps from store), which in turn is followed by more and more stupid remedies. And more incompatibilities to Unix rules and existing programs. The last more less usable was High Sierra, but it's unsupported for a long time now, so benefits are low. Yes, I know I will need to move away with my everyday work from 10.9 pretty soon, probably leaving an off-line working place to do photo, sound and video processing. But I am not sure whether to another Mac. *BSD system seems more convincing to me. But still searching... |
I see. Ok those are good insights.
Lol tell me about it! Every OS update is a mix of excitement and trepidation for me. Kind of curious what you mean by incompatibilities to Unix rules though, but maybe we are getting off to a tangent. |
@d-c Sorry to butt in here, but I was a staunch advocate of keeping support for Tiger here, back in the day, and thus I sympathize greatly with your desire to keep going with an old and non-crappy version of macOS. Long story short: depending on your workflow and your needs, you might not even need MacVim at all on 10.9. Perhaps you can get away with just building an up-to-date console Vim. Terminal emulators on macOS have improved immensely since I starting MacVimming around 2007 when it first appeared. (Holy crap! Has it been 15 years of MacVimming?) So much so that the advantages of using MacVim over a plain console Vim---which were many back in 2007---have dwindled down to almost nothing (for me, anyway). As it turns out, I'm switching to Linux, where there is no way to reliably map the Cmd key in Vim/gVim (without horrible side effects). This has forced me to retrain my Vim muscle-memory to use other modifiers besides Cmd, and it really only took about two days before it became natural. Well, guess what? The ability to have
|
Sure @chdiza no problem I always want to hear what drives people to/away from MacVim. But yes how much value you derive from MacVim depends on whether it's the GUI part, or just the "not sucky terminal emulator" part of MacVim that entices you. To me, it was the "GUI of Vim" part that made me start using MacVim. MacVim does have the ability to do a lot more system integration, such as fully utilizing the Touch Bar or trackpad. There are also some features in progress (with different degrees of doneness) that are difficult to do on a terminal emulator due to the limits of the process boundary (e.g. overlaid scrollbars, smooth pixel scrolling, proper Option-key handling/mapping that would deprecate But feel free to use whatever fits your needs. If there's any reason why you think terminal Vim is actually better than MacVim in terms of functionality though I'm curious to hear about it. But on the topic of supporting old versions of OSes, I hear you. I do want to support older versions as much as we can. Sometimes it could get tricky due to API incompatibility (old APIs go from supported to deprecated to removed), and it's difficult to test them in CI. But as long as there are no forcing functions that would force us to bump that number I don't plan to do so (Sparkle 1 still seems supported for now, but the upgrade to Sparkle 2 would probably one of the few reasons we would have to upgrade, unless we want to ship a separate binary that doesn't come with Sparkle updater). |
This fixes MacVim to work again on OSX 10.9. It was previously crashing on launch for last few versions. titlebarAppearsTransparent call: This API was added in 10.10, and previously MacVim wasn't properly guarding it with the proper OS version check, causing it to crash under 10.9 (which is the lowest currently supported macOS version). CGContext call: The new stateful renderer is using a newer API to retrieve the CGContext from the NS wrapper, but that was also only added in 10.10. When compiling against older versions, just use the older, now-deprecated API "graphicsPort" instead. It works the same way. Also, change the version check for `safeAreaInsets` for non-native full screen to use @available as well instead of checking for selector. This is more consistent with how other code works and fixes a compiler warning about not checking for OS version. Fix macvim-dev#1212
This fixes MacVim to work again on OSX 10.9. It was previously crashing on launch for last few versions. titlebarAppearsTransparent call: This API was added in 10.10, and previously MacVim wasn't properly guarding it with the proper OS version check, causing it to crash under 10.9 (which is the lowest currently supported macOS version). CGContext call: The new stateful renderer is using a newer API to retrieve the CGContext from the NS wrapper, but that was also only added in 10.10. When compiling against older versions, just use the older, now-deprecated API "graphicsPort" instead. It still works. Also, change the version check for `safeAreaInsets` for non-native full screen to use @available as well instead of checking for selector. This is more consistent with how other code works and fixes a compiler warning about not checking for OS version. Fix macvim-dev#1212
This fixes MacVim to work again on OSX 10.9. It was previously crashing on launch for last few versions. titlebarAppearsTransparent call: This API was added in 10.10, and previously MacVim wasn't properly guarding it with the proper OS version check, causing it to crash under 10.9 (which is the lowest currently supported macOS version). CGContext call: The new stateful renderer is using a newer API to retrieve the CGContext from the NS wrapper, but that was also only added in 10.10. When compiling against older versions, just use the older, now-deprecated API "graphicsPort" instead. It still works. Also, change the version check for `safeAreaInsets` for non-native full screen to use `@available` as well instead of checking for selector. This is more consistent with how other code works and fixes a compiler warning about not checking for OS version. Fix macvim-dev#1212
Ok have a PR up which fixes this issue. I tested on a 10.9 VM and seems to work, and you can launch and use MacVim again. One issue that I found: native full screen doesn't seem to work: the Vim window would not resize properly and not take up the whole screen. Non-native full screen still works just fine though. This honestly feels a little like a niche case to me, and unless there is strong desire expressed here it's unlikely I'll fix that, since even just 10.13 seems to handle the native full screen transition just fine. The full screen API and MacVim's handling of it is a alway kind of convoluted and I would much rather spend my time on fixing other issues. |
Great! I actually prefer the non-native full screen mode because I find the native animations annoying and I like using [cmd] + [h] to hide the current program. |
Native fullscreen mode, a.k.a., Lion-mode, is an abomination :) |
@ychin I don't think there's anything on which console Vim outperforms MacVim. (I mean, other than startup, but that's just the nature of a GUI.) MacVim does outperform the most popular other gVim, namely the GTK3 build on linux. (It's so laggy as to be unusable and I build the GTK2 version instead.) |
Actually, if you use iTerm2, it supports modifyOtherKeys, which MacVim doesn't support yet (but it will soon). Anyway maybe we should stay on topic lol. |
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
I can run Macvim.app in the current (8.2.3455 (172)) version on my OS X 10.9, but there is no new window with empty file (no matter what setup I use). I can select the recent file, but the new window with text doesn't appear. Drag'n'drop doesn't work either.
Last version I used without issues was a very ancient one. When I try to user a newer version, it breaks even the older one into the same non-working behaviour, so to get back to the working state is not easy. I cleaned up anything I found, what might have any connection to MacVim and tried to use older versions. Ended up with "Custom Version 8.2.539 (163)" released on 12 Apr 2020 which worked again.
When I try to run the native app (/Applications/MacVim.app/Contents/MacOS/MacVim) from the shell, it runs non-graphical vim. After I quit with :q it says:
2021-10-04 12:54:44.989 MacVim[34079:507] -[MMWindow setTitlebarAppearsTransparent:]: unrecognized selector sent to instance 0x7fb5dad3d8e0, but I don't return to shell before I quit the graphical interface.
If I try to select e. g. a file from Recents, it opens in terminal, but with very limited possibilities of work, no graphical window.
The text was updated successfully, but these errors were encountered: