Skip to content
MoreDisplays

Type to search.

Support

In this order. Each step answers more problems than the one after it, and doing them in order is the difference between a ten minute fix and a three day thread.

01

Export a support bundle

Settings, Diagnostics, Export Support Bundle. It writes a zip, and it is the single most useful thing you can attach to a report.

What is in it

  • A manifest with the build and machine facts: macOS version, hardware model, app version.
  • Your configuration: groups, arrangement, settings.
  • The app's own log entries from the last day.
  • The display topology as the app sees it.

And nothing else

The exporter can only read from three places: the support directory, the app's own log entries, and the live topology. That is not a promise in a comment, it is the shape of the code, and there is a test that proves nothing outside those three ends up in the archive.

unzip -l ~/Desktop/MoreDisplays-support.zip
  Length   Name
  -------  ----
     4821  manifest.json
    18240  config.json
    96114  log.txt
     2903  topology.json
02

Check known issues

Maintained, and honest about the ones that will not be fixed.

Sleep, wake, hotplug and cold boot are untested on hardware

Open

Affects All versions, today

Automated tests run headless against fakes, so a set of situations can only be checked by hand on real hardware. Several of them have not been checked yet.

Verified so far: activating a group, switching straight from one group to another, and deactivating, all on real hardware, with the displays appearing at the requested resolution and position.

Not yet verified: sleep and wake, logout and login, connecting or disconnecting a physical monitor while a group is active, a cold boot with activate-on-launch set, deleting the active group, a shortcut another app already owns, and a crash while virtual displays exist.

None of it stops the app launching or leaves you without a screen: a failed switch rolls back, and a failed rollback releases every virtual display and puts a physical one back as main. But a display utility that has not been through a wake cycle is not one to trust on a Mac in another building until you have tried that cycle yourself.

Workaround. None. Treat these situations as unknown rather than working, and test them on your own machine before relying on them.

A remote client keeps changing the resolution

Workaround

Affects All versions, with Jump Desktop or Parsec

Jump Desktop and Parsec both request a display resolution when they connect, and again when the link changes. The display then no longer matches the group you activated.

Marking that display protected in the group makes the app put the arrangement back. It gives up after five restores in twenty seconds, though, because two programs taking turns rewriting the framebuffer is worse than either outcome, so protection wins the argument a few times and then concedes until the group is activated again.

The real fix is in the client: turn its automatic or dynamic resolution off, and let the group own the display. Protection is the belt to that pair of braces, not a substitute for it.

Workaround. Turn off automatic or dynamic resolution in the client. Protecting the display puts it back, but concedes if the client keeps asking.

Software brightness has no visible effect

Workaround

Affects Recent macOS on some Apple silicon

Writing a gamma table to change apparent brightness returns success and produces no visible change on some Apple silicon Macs under recent macOS. The call does not fail, so there is no error to report and nothing in the log.

A slider that moves and changes nothing is worse than no slider, so where this is detected the control is disabled and carries the reason.

Displays with a real DDC channel are unaffected: that path changes the panel’s own backlight and works.

Workaround. None needed. Where the app can detect it, the control is disabled with the reason shown rather than left in place.

Sharing the library reports itself unavailable

Workaround

Affects Any build without the entitlement, and any Mac with no iCloud account

Sharing the group library over iCloud needs three things: a restricted entitlement, a signed build, and a user signed in to iCloud. An entitlement counts only when the bundle embeds a provisioning profile granting it, so a build made without one reports sharing as unavailable in Settings, in the same sentence someone with no iCloud account sees.

Settings names which of the three is missing rather than saying only that it did not work.

Nothing else is affected. Groups, activation, the CLI and backups all work against the local file.

Workaround. Expected. Everything else works against the local file; sharing needs a signed build with the right provisioning profile.

Nothing exists before you log in

Workaround

Affects Every version so far

MoreDisplays runs in your user session, so its displays exist from the moment the app launches after you log in, and not before. Nothing it does affects what the login window looks like or which display it appears on.

Covering that window needs a privileged service running as root from boot. The app now ships one: it installs from Settings, registers through SMAppService, runs from the moment the Mac starts, stays resident and reports its state in mdctl status. The last step is the one that is missing. It does not present a display at the login window yet, so in this version enabling it buys nothing.

Until it does, this is the first thing to weigh if you are thinking of putting a Mac somewhere you cannot reach. A hardware dummy plug covers the login window; the app covers everything after it.

Workaround. Use automatic login, keep the machine logged in, or keep a hardware dummy plug for the login window only.

The Mac shows the lock screen when a Jump Desktop session ends

Workaround

Affects Any version, with Jump Desktop Privacy Mode enabled

This is Jump Desktop’s documented Privacy Mode teardown, not a MoreDisplays logout or a WindowServer restart. Privacy Mode blanks the host’s physical screens and blocks local mouse and keyboard input; when the remote connection ends, Jump asks macOS to lock the computer.

While connected, choose Remote → Privacy Mode in the Jump viewer to turn it off. A managed Jump team can also force Privacy Mode to Always Disabled in its host settings. Turning it off exposes the host’s physical screen and local input during the remote session, so it should not be changed silently.

MoreDisplays ignores automatic capture and protected-display callbacks while loginwindow owns the desktop. That prevents a temporary lock-screen arrangement from being saved or restored, but it does not override an explicit security lock from another application.

Workaround. Turn off Remote → Privacy Mode in the Jump viewer if the physical-screen and local-input privacy trade-off is acceptable.

Switching Spaces moves focus to the wrong display

Will not fix

Affects macOS 26

A virtual display in the hierarchy can interfere with how the window server tracks focus across Spaces. Switching Spaces occasionally leaves focus on a display other than the one that received the switch.

This is macOS behaviour rather than a MoreDisplays bug, and a workaround inside the app would mean fighting the window server for control of focus, which produces a worse and less predictable result than the original problem.

Workaround. Keep the number of active displays low, and switch groups with a keyboard shortcut rather than by moving between Spaces.

03

Search the manual and the FAQ

The whole site is indexed, including every CLI page. Press / or ⌘K anywhere, or start here.

The pages that answer the most questions: Troubleshooting, why a feature is greyed out, and remote clients.

04

Ask or report

One address, for everything. The repository is private while the app is unreleased, so there is no issue tracker to file on and no discussions board to search.

support@moredisplays.com

Something is broken

Attach the support bundle, and say what you expected, what happened, and the exact command or click that produced it. A report with a bundle gets an answer; one without gets a request for a bundle.

A question, or an idea

Same address. Say which part of the manual you read first, because if the answer was supposed to be there and was not, that is a documentation bug worth fixing as well.

A security problem

Same address, and say so in the subject line. There is no public tracker, so nothing you send becomes visible to anyone else by accident.

The shortcut that works everywhere

One key combination, registered with the system rather than with a window, so it fires whatever you are looking at and whichever screen you are looking at it on. Full screen video, another Space, a remote session: it does not matter.

⌃ ⌥ ⇧ ⌘ D

Sleeps every display at once. They wake on the next key or click, and nothing about your arrangement changes: no group is switched, no display is disconnected, and nothing is rearranged when they come back.

Why four modifiers

A shortcut that has to work inside every other application can only be one that no other application has claimed. Control, option, shift and command together is the combination macOS ships nothing on, which is why it is the default here. Nobody presses it by accident, and for something that blanks every screen that is the point.

Changing it, or turning it off

Settings, General, Sleep all displays. Click the button, press the keys you want. The cross beside it clears the shortcut, and a cleared shortcut stays cleared: it does not come back on the next launch. The same command is in the menu bar item, under Sleep All Displays, if you would rather click it.

If pressing it does nothing

Another application already holds that combination. macOS gives a global shortcut to whoever asked first and tells nobody, so MoreDisplays says so instead: open Settings and the problem list at the top names the shortcut it could not register. Record a different one and it is live immediately.

Which version are you on

There is one supported version, and it is the current one. The download page always has it, and the app looks for it by itself once a day. If you are behind, update before reporting: otherwise the first question back is going to be whether it still happens on the current build.

mdctl status | head -1
version: 1.6

Also say which macOS you are on. That one answer resolves a surprising share of reports on its own.

Getting rid of it

If it is not for you, the uninstall guide removes every trace, including the configuration most uninstall instructions forget. Nothing is left behind and there is no account to close.