Skip to content

About

A local-first macOS menu bar app for saving, reviewing, and deliberately applying display and sound profiles.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Desk Setup Switcher app icon

Desk Setup Switcher

Bring your desk back, deliberately.

Move between desks without rebuilding your Mac setup.
Save display, sound, and keyboard settings as local profiles, preview every proposed change, and apply only when you are ready.

CI status MIT License Data stays local

Project site · English guide · 한국어 가이드 · Support matrix

Desk Setup Switcher is a macOS menu-bar app for people who use the same Mac at different desks. Capture the setup that works at home, the office, or a studio, then return to it without hunting through System Settings each time.

Important

The project site is public, but there is no supported public download yet. The GitHub Pages site is an informational holding page, not an app release. The first supported build is planned as a free, Developer ID-unsigned DMG on GitHub Releases after the public-beta completion gates pass. Local builds and ordinary CI artifacts are unsupported.

See the whole flow

Step 1: capture the Display and Sound setup shown in this synthetic pre-Keyboard product snapshot without changing the Mac Step 2: edit the main display and resolution in a local profile
Step 3: edit output and input devices, volume, and output mute Step 4: review two planned sound changes before the separate Apply action

Watch the 40-second silent product tour · English captions · 한국어 자막

Exact-commit synthetic Display/Sound product data captured before the Keyboard surface was added. No personal device identifiers, live Capture, Apply, or hardware changes.

One Mac, more than one desk

Changing desks often means repeating the same small decisions: choose the main display, restore a resolution, select the right speakers or microphone, reset their levels, and restore keyboard repeat preferences.

Desk Setup Switcher keeps those choices together in a named profile, so every change begins with a clear plan instead of guesswork.

Why Desk Setup Switcher?

Product value What you get
Less setup repetition Keep the display, sound, and keyboard choices for each desk together in one named profile.
Control before convenience See the exact plan, unavailable items, and risks before anything changes. Profiles never switch automatically.
A safer display workflow Protected display changes use a 15-second Keep Changes / Revert Now window.
Privacy by architecture No account, cloud sync, app-owned server, telemetry, analytics, advertising, or automatic/background profile switching.

Capture. Review. Get back to work.

  1. Capture reads the current Display, Sound, and Keyboard values into a local profile. It changes nothing.
  2. Edit gives the setup a useful name and lets you choose from the values available on that Mac.
  3. Review & Apply shows proposed changes and omissions. Only a separate confirmation starts the change.

One profile, nine setting types

Display Sound output Sound input Keyboard
Main display Output device Input device Key repeat speed
Resolution Output volume Input volume Repeat delay
Output mute

That is the complete current product scope. Pointer speed, natural scrolling, standard-function-key behavior, Network settings, editable refresh rate, mirroring, ColorSync profiles, per-setting inclusion switches, and automatic switching are not current features.

Designed to earn trust

  • Capture is read-only, and Apply always starts with a visible plan and explicit confirmation.
  • Upgrading does not silently activate an older excluded Keyboard value. A new Capture includes readable Keyboard values, and explicitly editing one opts it in.
  • The app reads current state again immediately before execution. If the plan changed, it applies nothing and returns to review.
  • Protected display changes remain temporary until you keep them. Rollback is attempted when required, but is not presented as a guarantee.
  • Results distinguish applied, skipped, failed, rolled-back, rollback-failed, and unverified outcomes.
  • Selecting an audio input device does not record audio or require microphone access.

Profiles, backups, and diagnostics stay on the Mac. Exports can contain device labels and stable identifiers, so review them before sharing. See the privacy policy for the complete boundary.

Current beta status

  • The bilingual project site is approved for public GitHub Pages hosting while its release state remains holding; it provides no app download or installation instructions.
  • The initial public-beta target is Apple Silicon on macOS 14 Sonoma. Exact release-candidate lifecycle evidence is still required before that becomes a supported public claim.
  • Current-source Display and Sound Capture and device discovery have read-only hardware evidence. Keyboard Capture, Apply, and rollback have deterministic mock evidence only; no live keyboard mutation or hardware verification is claimed. The Keyboard editor uses macOS-aligned discrete Slow → Fast and Long → Short axes instead of raw preference numbers. Native key-repeat Off is a separate runtime threshold state and is not exposed until it can be captured, persisted, read back, and rolled back safely; the slowest enabled value is never mislabeled as Off. Key repeat speed and repeat delay use experimental undocumented preference keys. Keyboard brightness is legacy profile data only: it is preserved for format compatibility but is never captured, edited, or applied.
  • A user-authorized 2026-09-15 local Apple Silicon build of the current Keyboard source was reinstalled and launched with both profile files unchanged. This is startup evidence for an arm64 development bundle, not universal-package, supported-release, or Keyboard hardware evidence; see the reinstall record.
  • The app release remains on hold until the documented lifecycle, external-beta, and release-publication gates pass.

For the evidence behind each statement, see the support matrix and completion ledger.

Follow the public beta

Build from source

Contributors need full Xcode and a Swift 6.1-or-later toolchain.

git clone https://github.com/GGULBAE/desk-setup-switcher.git
cd desk-setup-switcher
make verify

make verify is the canonical non-live gate. It does not mutate display, audio, network, mouse, or keyboard settings. See CONTRIBUTING.md for the development workflow.

Documentation

Open source

Desk Setup Switcher is available under the MIT License. Contributions are welcome—start with CONTRIBUTING.md and the Code of Conduct.

About

A local-first macOS menu bar app for saving, reviewing, and deliberately applying display and sound profiles.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages