Cocoa automatically zooms for a HiDPI display like Retina and makes the display blurry. Revert the automatic zooming.
Signed-off-by: Akihiko Odaki <[email protected]> --- Changes in v2: - Rebased. - Link to v1: https://lore.kernel.org/r/[email protected] --- ui/cocoa.m | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/ui/cocoa.m b/ui/cocoa.m index 23b7a736d700..7c46a16968ed 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -627,7 +627,10 @@ - (void) resizeWindow [[self window] setContentAspectRatio:NSMakeSize(screen.width, screen.height)]; if (!([[self window] styleMask] & NSWindowStyleMaskResizable)) { - [[self window] setContentSize:NSMakeSize(screen.width, screen.height)]; + CGFloat width = screen.width / [[self window] backingScaleFactor]; + CGFloat height = screen.height / [[self window] backingScaleFactor]; + + [[self window] setContentSize:NSMakeSize(width, height)]; [[self window] center]; } else if ([[self window] styleMask] & NSWindowStyleMaskFullScreen) { [[self window] setContentSize:[self fixAspectRatio:[self screenSafeAreaSize]]]; @@ -685,8 +688,8 @@ - (void) updateUIInfoLocked info.xoff = 0; info.yoff = 0; - info.width = frameSize.width; - info.height = frameSize.height; + info.width = frameSize.width * [[self window] backingScaleFactor]; + info.height = frameSize.height * [[self window] backingScaleFactor]; dpy_set_ui_info(dcl.con, &info, TRUE); } --- base-commit: afe653676dc6dfd49f0390239ff90b2f0052c2b8 change-id: 20240318-zoom-df4d6834e56b Best regards, -- Akihiko Odaki <[email protected]>
