scratchfoundation / scratchfoundation/scratch-desktop
ENA-83: Ability to Zoom In and Zoom Out responsively
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 426
- Forks
- 268
- Avg merge
- 16h 6m
- Merged PRs (30d)
- 25
Description
Expected Behavior
In the browser version of Scratch, it's possible to Zoom In and Zoom Out responsively, as via command-plus and command-minus on a Mac, whereby the entire UI resizes (not just the code area).
We use such when teaching on a projector (zooming in 150% typically), so as to make UI elements more visible, particularly for students farther back.
Actual Behavior
As best I can tell on the desktop version, there might not be a similar feature, unless it's another set of keyboard shortcuts?
By contrast, Electron apps like VS Code desktop do to resize with command-{plus,minus}, per https://github.com/microsoft/vscode/blob/main/src/vs/platform/window/electron-sandbox/window.ts. And a manual workaround (e.g., for a teacher in class) seems to be executing document.body.style.zoom = '150%' in Electron's dev tools
Steps to Reproduce
- Install https://scratch.mit.edu/download for macOS.
- Launch Scratch desktop app.
- Try to zoom in/out with command-{plus,minus}.
System Details
macOS 12.5.1, Scratch desktop 3.29.1.
Screenshots
Browser version, zoomed in

Desktop version, not zoomed in

Thank you!
CC @rongxin-liu @carterzenke
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the macOS keyboard-shortcut and window handling in the desktop app, using the referenced VS Code window.ts as a comparison. Verify the existing document.body.style.zoom workaround in Electron dev tools, then make command-plus and command-minus resize the entire UI responsively and confirm both zoom directions manually on macOS.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, javascript
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100