From e4e55bd8eb35b33fa49df39d1a34b8fb29f70a33 Mon Sep 17 00:00:00 2001 From: usrnk1 <7547651+usrnk1@users.noreply.github.com> Date: Wed, 4 Nov 2026 22:12:47 +0100 Subject: [PATCH] fix(app): allow desktop zoom out below 100% (#61788) --- packages/app/src/shell/commands/desktop-menu.test.ts | 6 ++++-- packages/app/src/shell/commands/desktop-menu.ts | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/app/src/shell/commands/desktop-menu.test.ts b/packages/app/src/shell/commands/desktop-menu.test.ts index 74aae7772ff..772395a2a54 100644 --- a/packages/app/src/shell/commands/desktop-menu.test.ts +++ b/packages/app/src/shell/commands/desktop-menu.test.ts @@ -37,10 +37,12 @@ test.each([ // A pinch leaves the factor between levels, or outside them. { factor: 1.3, direction: "in", level: 1.5 }, { factor: 1.3, direction: "out", level: 1.25 }, - { factor: 0.5, direction: "out", level: 1 }, + { factor: 0.3, direction: "out", level: 0.5 }, { factor: 3, direction: "in", level: 2 }, { factor: 2, direction: "in", level: 2 }, - { factor: 1, direction: "out", level: 1 }, + { factor: 1, direction: "out", level: 0.9 }, + { factor: 0.5, direction: "out", level: 0.5 }, + { factor: 0.5, direction: "in", level: 0.67 }, ] as const)("zooming $direction from $factor lands on $level", ({ factor, direction, level }) => { expect(nextDesktopZoomLevel(factor, direction)).toBe(level) }) diff --git a/packages/app/src/shell/commands/desktop-menu.ts b/packages/app/src/shell/commands/desktop-menu.ts index d256a42bec0..d93a7df9eb9 100644 --- a/packages/app/src/shell/commands/desktop-menu.ts +++ b/packages/app/src/shell/commands/desktop-menu.ts @@ -59,8 +59,8 @@ export type DesktopMenuSeparator = { export type DesktopMenuEntry = DesktopMenuItem | DesktopMenuSeparator -// Slack's desktop zoom levels from 100% up. Zoom In, Zoom Out and the Appearance setting all pick one. -export const desktopZoomLevels = [1, 1.1, 1.25, 1.5, 1.75, 2] as const +// Chromium's zoom levels from 50% to 200%. Zoom In, Zoom Out and the Appearance setting all pick one. +export const desktopZoomLevels = [0.5, 0.67, 0.75, 0.8, 0.9, 1, 1.1, 1.25, 1.5, 1.75, 2] as const export type DesktopZoomLevel = (typeof desktopZoomLevels)[number]