-
Notifications
You must be signed in to change notification settings - Fork 50
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
Blurry text rendering on macOS Monterey #87
Comments
I'm not sure about the resolution problem, I'll have to look into it. I did switch the text rendering mechanism a while ago but it shouldn't have caused any problems (uses |
Yes I did set a specified font to use, it's the same as your example which is Consolas but I change the size to 14, this is a quite strange issue. And thx for telling me the correct way to edit a file :) |
If you don't want to use the -- flag I added a branch #88, just going to make sure it builds before I merge it. I've been got by linux and macos builds too many times at this point |
It's probably because of the different text rendering mechanisms. Cmdline (and popup menu) uses |
Does #89 fix this? |
Rip. I don't really know what's causing the issue then. I'll tag this as 'help wanted', maybe someone else knows why this is happening. |
I'm getting something similar on Arch Linux, X11, KDE Plasma, doom-nvim and the I think my font configuration is fine since it works fine in doom emacs, kitty and a few other apps. Maybe it has to do with display scaling? I have mine set to 125% in KDE's system settings. |
I used to have the same problem as you but I can't represent it every time. My workaround solution is reboot the machine and it will work for me until the next reboot, quite strange. |
Still have the same issue on macOS, maybe this is some QT problem on Monterey, we may need to wait until QT release new version for Monterey |
cmake --build build --target nvui --config Release |
As much as I would like to play with nvui, is it unusable on macOS Monterey because of this font rendering issue. I have tried multiple fonts and sizes--some are better that others, but they all give me a headache. I feel like I'm editing on an old CRT. Apparently no progress on this recently? I note that some have commented this could be a QT problem on Monterey. This seems unlikely to me. For example, Calibre uses QT and renders cleanly. |
I'm pretty sure the solution to this would be to build a macOS application bundle and set the I've run into this before when playing around with Qt and other GUI frameworks and this fixed the problem for me every time. The Qt docs have a guide on building macOS app bundles but it seems to only have a guide for QMake and not CMake. The general lack of application bundles is honestly one of the things that makes me not want to invest time in setting up some of the Neovim GUIs out there because I dislike leaving my terminal open, so this could be a relatively easy win; generate an application bundle when building on macos. |
Cool, that might be what I was looking for! I'll create a new branch with the plist soon, will post it here when it's been created. |
Had to fix some build issues so it took me longer than I thought. I added the plist on the |
I downloaded the build for macOS and tried it. It doesn't seem to have any effect on the blurry text problem on my machine--m1 mini running the latest Monterey, 12.2 with a LG 5k monitor. It is not obvious to me that the plist file is being used. The structure of the app and location of the plist is the same as other .app packages I looked at. I also moved the nvui.app to the /Applications directory. However, I can only run nvui.app successfully by using the terminal I don't know how to determine if nvui.app is actually using the info.plist included with it. If it is, then the problem is not fixed. If it is not, how to I make it so? |
I used CMake's bundle feature to bundle the plist with the app so it should be using the plist automatically. I don't have any other ideas besides that. Could you check if Neovim-Qt/Goneovim have the same rendering issue? They also render using Qt so if they are fine then there could be a way they solved it. |
I loaded Goneovim version 0.5.1. It works and renders perfectly. Goneovim's plist file has quite a bit more 'stuff' than nvui's does. nvui has:
for the same key, Goneovim has: ` NSPrincipalClass but Goneovim does not have the key NSHighResolutionCapable. |
NSHighResolutionCapable is true by default, so I guess they don't need it and it's not causing the problem. I looked through the Goneovim plist file and didn't find anything that would necessarily help rendering.. I did find that Goneovim enabled a Qt flag called |
I’ll watch for the build and test for you. |
Tried the build myself (on Windows) and it looks like the automatic high dpi scaling has broken a lot of things.. I'll try and fix them and put a comment here when it's done |
Yes, it is fixed and displays properly now. However, the problem with running nvui.app from anywhere other than the command line using |
Nice! And yeah, from what I've seen in Goneovim and Neovim-Qt, they spawn an external process to print the $PATH and then they manually set it. Might have to do something similar |
Hmm, when I try to run this I see the following:
I wonder if that's because the CI is building that on intel architecture while I'm using the M1 chip 🤔 |
Yeah only the x64 version is built, Github Actions doesn't have M1 virtual machines so that's probably why. |
I have discovered that the issue goes away if the display scaling is switched off. Maybe that can help to resolve the issue. I use Xorg and KDE and set global display scaling through KDE's systemsettings utility. |
I follow the instructions wrote in the wiki and build it on my own machine, the output in the terminal seems ok
except the warnings but I believe it's because the system version is too new
but the program's appearance isn't good, the whole UI seems runs in low resolution
and I don't know if it's the way I use it wrong or something, what I expected to see is use
nvui filename
and it will open up a instance and let me modify the file, but what happened is it just create a instance but doesn't open the file I want, I have to drag the file into the instance or open it in the instance by some plugin's helpThe text was updated successfully, but these errors were encountered: