Skip to content

[Feature Request] Per-window zoom level (independent zoom per Typora window) #6557

@danalec

Description

@danalec

Feature Request: Independent Zoom Level Per Window

Summary

Allow each Typora window to maintain its own independent zoom level, rather than sharing a single global zoom setting across all open windows.

Current Behavior

Currently, Typora stores zoom as a global preference. When you zoom in or out (via View > Zoom In/Out, Ctrl+Shift+=/-, or the mouse wheel + Ctrl shortcut added in v1.8), the zoom level is applied uniformly to all windows. Changing zoom in one window immediately affects every other open window.

Desired Behavior

  • Each Typora window should be able to hold its own zoom level independently.
  • Opening a new window should default to the globally configured zoom, but changes made in that window should not propagate to other open windows.
  • Optionally, the per-window zoom level could be persisted per file or per folder, so reopening a document restores the last zoom used for it.

Use Case / Motivation

A common workflow involves having multiple Typora windows open simultaneously for different purposes — for example:

  • One window on a secondary/external monitor at a higher zoom for comfortable reading at a distance.
  • Another window on a laptop screen at a lower zoom to see more content.
  • A reference document open at a different zoom than the document being edited.

With the current global zoom, adjusting zoom for one window forces all others to change as well, which is disruptive and requires constant manual readjustment.

Proposed Implementation (optional suggestions)

  • Store zoom level as part of window state (in memory, not persisted to preferences) so each window is independent during a session.
  • Optionally, allow zoom to be associated with a file path or workspace folder and restored when that file/folder is reopened (similar to how some editors like VS Code handle per-file settings).

Environment

  • Typora version: 1.13.4
  • OS: All

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions