Releases: stoatworks-labs/showmode
Release list
Show Mode v0.3.1
Show Mode now has an app icon. Appearance pinning now actually works, and more of the app has been tested.
- App icon: two theatre masks on the Stoatworks navy, in the spirit of the menu-bar icon. It is drawn from scratch because Apple's SF Symbols licence doesn't allow the menu-bar symbol in app icons.
- Appearance pinning works now. v0.3.0 wrote a preference macOS never rereads, so System Settings kept showing Auto and nothing was pinned. It now uses the same call System Settings makes. If you use Auto, the appearance that's showing when the show starts (Light or Dark) is held until it ends, then Auto comes back. The same happens after a crash.
- The main-display warning now points you to Show Mode's own Main Display menu instead of System Settings.
Newly tested on a real two-screen setup:
- Cursor fence without Accessibility: it pulls the pointer back within one mouse movement, and hides it near the show screen.
- Hiding the cursor from the background: works.
- Main-display warning: both buttons work, and the last screen the cursor has left can't be blocked.
- Appearance pinning: checked in System Settings, including after a crash.
Not yet tested:
- the display lock with AirPlay, Sidecar or DisplayLink screens;
- a real evening switch being held off by a pinned appearance.
Universal (Apple silicon and Intel), macOS 13 or later, signed and notarised by Apple.
Show Mode v0.3.0
Show Mode can now lock the display arrangement for a show. The cursor fence has also been tested on a real second screen for the first time.
Lock main display & keep new screens extended. This is a new guard, and it's on by default.
- The main display stays put. Choose it under Main Display, or leave it as Whichever is main at start. If something else makes another screen main during the show, Show Mode moves it back within about a second. Examples are a display reconnecting, or a projector macOS remembers from another venue. The screens keep their positions relative to each other.
- New mirrors become extended. Anything already mirrored when the show starts is treated as deliberate and left alone, such as a confidence monitor. A screen that starts mirroring mid-show is split back out to extended. That covers a projector macOS decides to mirror, or a stray ⌘F1.
- If something keeps undoing the arrangement (four corrections inside twenty seconds), Show Mode stops fighting it and says so in its menu.
- When the show ends, the display that was main before it becomes main again. The same happens on the next launch after a crash.
Also new
~/Library/Logs/ShowMode.logrecords what Show Mode did: which mode the fence came on in, and every correction the display lock made.- Show Mode warns at start if the display chosen as main is also fenced off, because that puts the menu bar out of the cursor's reach.
Tested on a real extended display. These tests used a Roland USB video output, plus a virtual display.
- Cursor fence: it held a pointer gliding in 10-pixel steps at the edge. In 2 of 12 runs, one sample caught the pointer a few pixels over the edge for less than one step. It pulled back a pointer warped onto the show screen, and pausing and resuming worked.
- Display lock: it split a mirror back out, made the locked display main again, stopped after repeated reversals, and restored the original main display at the end of the show and after a
kill -9.
Not yet tested:
- the fence without Accessibility permission;
- the display lock with AirPlay, Sidecar or DisplayLink screens;
- the Do Not Disturb shortcuts.
Universal (Apple silicon and Intel), macOS 13 or later, signed and notarised by Apple.
Show Mode v0.2.0
Show Mode can now black out the desktop wallpaper, and the cursor fence can no longer be set up to trap the cursor.
Wallpaper blackout
- A new guard, Black out desktop wallpaper, is on by default. Starting show mode turns the wallpaper black on every screen, including a projector plugged in mid-show, so an extended desktop never shows your wallpaper to the audience.
- When the show ends, the original wallpaper comes back exactly. That includes dynamic and aerial wallpapers and every Space.
- You can also use it without starting show mode: choose Black Out Wallpaper / Restore Wallpaper from the menu, or
open showmode://wallpaper-blackandshowmode://wallpaper-restore. - Like every other guard, it is restored when you quit, when a launcher stops the app, and on the next launch after a crash.
Cursor fence safeguards
- The last screen left to the cursor cannot be ticked under Keep cursor off. On a Mac with only one screen, the menu says there is nothing to fence off.
- Ticking the main display asks first. It holds the menu bar, Show Mode's own menu and the Dock, and you could not reach any of them with the mouse during the show.
Beta. The wallpaper blackout was checked on macOS 26.4.1: blacking out and restoring from the menu, then killing the app outright, then stopping it with SIGTERM. It has not yet been run as part of a full show-mode start, or on a Mac with more than one screen. The cursor fence (including the new main-display warning) still has only met a single-display Mac. Try it on the show machine first. See the user guide.
The macOS build is universal (Apple silicon and Intel), needs macOS 13 or later, and is signed and notarised by Apple.
Show Mode v0.1.0
The first release of Show Mode: a macOS menu-bar app that locks a presentation or playback Mac down for a show, then puts every setting back exactly as it was.
One click, ⌃⌥⌘S or open showmode://on does all of this:
- It stops display and system sleep. It can also stop lid-close sleep, which is off by default.
- It turns off Low Power Mode, the screen saver, hot corners, Mission Control, App Exposé and their gestures, and click-wallpaper-to-show-desktop.
- It turns on Do Not Disturb, using two generated Shortcuts that you install once from the Setup menu.
- It turns off Night Shift and clears its schedule, turns off True Tone, pins the light/dark appearance, and quits f.lux, Shifty and Lunar, reopening them when the show ends.
- A cursor fence keeps the pointer off the screens you tick. ⌃⌥⌘F pauses it.
Before Show Mode changes anything, it writes down the value it replaced. It restores those values when the show ends, when you quit it, when a launcher stops it, and on the next launch after a crash.
Beta. These guards and every restore path were run end to end on macOS 26.4: sleep, Low Power Mode, screen saver, hot corners, Mission Control, True Tone and Night Shift. Not yet checked:
- The cursor fence has only been run on a single-display Mac.
- The generated Do Not Disturb shortcuts have not been run.
Try it on the show machine, with the show screens connected, before a show depends on it. See the user guide.
The macOS build is universal (Apple silicon and Intel), needs macOS 13 or later, and is signed and notarised by Apple.