Display Mode: choose which screens are on from the keyboard, like Win+P

Open
#1,956 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 3 days

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
1/100
Issue type
Feature
Clarity
Clearly specified
Activity status
Stale
Tech stack
swift

Research direction

The proposal describes a Display Mode shortcut in Settings > Shortcuts > Extra, and links pull request #1955. Start by reviewing that pull request and the public CoreGraphics display mirroring approach mentioned in the issue. Done means users can choose screen combinations or mirroring from the keyboard as described, with screen numbers shown while the list is open.

Written by the indexing model from the issue text.

Description

enhancement

Idea

A keyboard shortcut that works like Win+P on Windows: open a small list and choose which screens are on, or mirror them, without going to System Settings > Displays.

macOS only has Cmd+F1 (Cmd+Brightness Down on some keyboards), which switches between mirroring and extending. It doesn't work on every keyboard, has no list to choose from, and can't turn a single screen off.

Proposal

A Display Mode action in Settings > Shortcuts > ⋯ > Extra, shown when more than one screen is connected:

  • The list has every combination of screens (Screen 1 Only, Screens 1 + 2, ...), then Mirror All Screens. With 5 or more screens it scrolls.
  • While the list is open, each screen shows its number in its middle.
  • Hold the modifiers and press the key again to move through the list; let go to apply. A single press keeps the list open for the arrow keys, Return or a click.

Implementation

Pull request: #1955.

Mirroring uses the public CoreGraphics API. A screen Rectangle turned off comes back on when Rectangle quits. I'm happy to change the approach if the private API is a problem.

Dominant language
Swift
Stars
30.2k
Forks
1k
Avg merge
3d 1h
Merged PRs (30d)
38

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from rxhanson/Rectangle

All issues in rxhanson/Rectangle

Similar issues

More Swift issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.