-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Text ghosting in 0.29.0 on macOS #6439
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
Comments
I need some steps to repro it in that case. |
@kovidgoyal The same steps can still be used to reproduce it. Resizing the window also works (probably simpler):
Screen.Recording.2023-07-19.at.12.24.51.pm.mov |
Does not repro for me with that. You did restart kitty after updating |
Yes. I checked the app name in menu bar was no longer Kitty (and my regular config has Maybe it's a platform thing? I'm using a 2019 Intel i7 MBP. GPUs are AMD 5300M and Intel 630. |
I am testing on an M1 Air (Ventura). What version of macOS? |
|
Just to confirm that this is coming from the Cocoa shadow layer for you kitty -o hide_window_decorations=y This should hide the shadow, the ghosting you see is basically the |
Yes! With |
So really the question is why is the code in cocoa_set_shadow() under if |
No it still happens after changing those two lines. Just to avoid any miscommunication what I did was:
diff --git a/kitty/cocoa_window.m b/kitty/cocoa_window.m
index 1d32979..bcfcfa5 100644
--- a/kitty/cocoa_window.m
+++ b/kitty/cocoa_window.m
@@ -745,10 +745,10 @@ - (BOOL)openFileURLs:(NSPasteboard*)pasteboard
if (has_shadow) { // invalidate the shadow to clear the ghosting
[window invalidateShadow];
// invalidateShadow does not work with layer backed views, see http://www.openradar.me/34184270
// so do the frame resize dance to force AppKit to invalidate the shadow even with the layer
- [window setFrame:NSMakeRect(NSMinX(window.frame), NSMinY(window.frame), NSWidth(window.frame)+1, NSHeight(window.frame)) display:NO animate:NO];
[window setFrame:NSMakeRect(NSMinX(window.frame), NSMinY(window.frame), NSWidth(window.frame)-1, NSHeight(window.frame)) display:NO animate:NO];
+ [window setFrame:NSMakeRect(NSMinX(window.frame), NSMinY(window.frame), NSWidth(window.frame)+1, NSHeight(window.frame)) display:NO animate:NO];
}
return current;
}
|
Hmm then I am at a loss, the only solution is to once again disable the |
Looks like the fix now causes this to happen on macOS in 0.29.1 without maximising / resizing - minimize & restore does it for me. |
On Fri, Jul 21, 2023 at 04:50:45AM -0700, Renée Köcher wrote:
Looks like the fix now causes this to happen on macOS in 0.29.1 without maximising / resizing - minimize & restore does it for me.
And what macOS version/GPU etc are you using?
|
…e rendering artifacts due to Cocoa bugs Fixes #6439
Completely forgot to add these.. sorry 13.4.1 (c) (22F770820d) on a 2020 M1 macBook Air |
Well, I have limited patience for Apple bugs, so I have just reverted |
Describe the bug
Text ghosting when resizing the window, opening new tabs, etc. if background opacity is configured.
To Reproduce
Steps to reproduce the behavior:
background_opacity 0.85
andmacos_traditional_fullscreen yes
It can be reproduced in other ways too, but I found the ghosting most obvious this way.
Screenshots
Screen.Recording.2023-07-11.at.11.27.55.am.mov
(There was ghosting after it went back to windowed mode too. With the video compression it wasn't very clear.)
Environment details
Additional context
I can reproduce the issue with only
background_opacity 0.85
in my config.The text was updated successfully, but these errors were encountered: