ui/cocoa.m | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
Cocoa automatically zooms for a HiDPI display like Retina and makes
the display blurry. Revert the automatic zooming.
Signed-off-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
---
Changes in v2:
- Rebased.
- Link to v1: https://lore.kernel.org/r/20240318-zoom-v1-1-07ad14fcde19@daynix.com
---
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 <odaki@rsg.ci.i.u-tokyo.ac.jp>
On 4/3/26 07:39, Akihiko Odaki wrote: > Cocoa automatically zooms for a HiDPI display like Retina and makes > the display blurry. Revert the automatic zooming. > > Signed-off-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp> > --- > Changes in v2: > - Rebased. > - Link to v1: https://lore.kernel.org/r/20240318-zoom-v1-1-07ad14fcde19@daynix.com > --- > ui/cocoa.m | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) Merged as a3b23b946c85062ff6fbdcc3d1f10557715516e4, thanks.
On Wed, Mar 4, 2026 at 7:40 AM Akihiko Odaki
<odaki@rsg.ci.i.u-tokyo.ac.jp> wrote:
>
> Cocoa automatically zooms for a HiDPI display like Retina and makes
> the display blurry. Revert the automatic zooming.
>
> Signed-off-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
> Changes in v2:
> - Rebased.
> - Link to v1: https://lore.kernel.org/r/20240318-zoom-v1-1-07ad14fcde19@daynix.com
> ---
> 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 <odaki@rsg.ci.i.u-tokyo.ac.jp>
>
© 2016 - 2026 Red Hat, Inc.