Monarch
Detach, restore, and switch monitor layouts without touching cables.
Install / Use
/learn @Nuzair46/MonarchREADME
What Is Monarch?
Monarch lets you:
- Detach a monitor in software (no cable unplugging)
- Reattach it later
- Save display layouts as profiles
- Restore the previous layout quickly
- Recover automatically with a confirmation timeout if a layout change goes wrong
- Easy apply with hotkeys
It uses Windows display topology APIs (DisplayConfig) to change which outputs are active.
Download & Install (End Users)
- Open the Releases page
- Download the latest
.msiinstaller - Run the installer
- Launch
Monarchfrom Start Menu or Desktop
Quick Start
- Open
Monarch - In the
Monitorssection, clickDetachon the display you want to turn off - Confirm the layout change (or it auto-rolls back)
- Click
Attachlater to bring the display back - Use
Save Current LayoutinProfilesto store common setups
Command-Line Profile Switch (Automation)
You can launch Monarch and ask it to apply a specific profile immediately:
monarch-desktop.exe -profile "ProfileName"
Also supported:
monarch-desktop.exe --profile "ProfileName"
monarch-desktop.exe --profile="ProfileName"
Notes:
- Useful for tools like Playnite scripts (before/after game launch)
- If Monarch is already running, the new command forwards the profile request to the running instance
- CLI profile argument takes precedence over the configured launch profile in Settings
Safety Features
- Confirmation timer after layout changes
- Automatic rollback if you do not confirm in time
Restore Last Layoutaction- Prevents disabling the last active display
If Something Goes Wrong
Try these in order:
- Use Monarch tray menu:
Restore Displays - Reopen Monarch and use
Restore Last Layout - Use Windows shortcut
Win + Pand chooseExtendorPC screen only - Reboot Windows (usually restores a usable display state)
Notes (Important)
- Windows only
- Monarch changes display topology, not monitor power directly
- Most monitors enter standby when Windows stops sending signal
- If you change HDR/SDR mode in Windows, Monarch auto-reapplies calibration in the background (best effort)
Troubleshooting
The app opens but I can't see the window
- Check the system tray for the Monarch icon
- Double-click the tray icon or use
Open App
A layout change made the screen unusable
- Wait for the confirmation timer to expire (auto rollback)
- Or use
Win + P
My display arrangement in the UI looks outdated
- Refocus the app window (Monarch auto-refreshes)
- Wait a few seconds for the background refresh poll to update the layout
Color calibration looks wrong after detaching a display
- Known issue on some systems with custom calibration (ICC / SDR / HDR calibration profiles)
- In testing, this can be triggered when:
- a display is detached in Monarch, and then
- Windows
Settings > System > Displayis opened
- The detach itself may look fine until Windows Display Settings is opened
- Workaround: reattach the detached display (this often restores the remaining display calibration)
- If needed, also reapply your calibration using your normal calibration tool / workflow
FAQ
Does Monarch physically power off the monitor?
No. It detaches the display output in Windows. Many monitors then enter standby automatically.
Is it safe to test?
Yes, but test on a non-critical setup first. Monarch includes rollback protection, and Win + P / reboot are reliable fallbacks.
Can I use it with NVIDIA / AMD / Intel?
Yes. Monarch is designed to work through Windows display APIs, not vendor-specific GPU control panels.
Is color calibration perfectly preserved in every Windows display-settings scenario?
Not yet. Monarch handles many calibration cases (including common HDR/SDR transitions), but Windows Display Settings can still cause calibration resets on some systems after topology changes. See Troubleshooting for the current known issue and workaround.
For Developers
<details> <summary>Build / Dev / CI details</summary>Project Layout
src/Rust core library (layouts, profiles, rollback safety, persistence)src-tauri/Tauri desktop app + Windows backendweb/React UI.github/workflows/Windows release workflow
Build Locally (Windows)
Requirements:
- Node.js 20+
yarn- Rust (stable)
- Visual Studio Build Tools 2022 + Windows SDK (
rc.exe)
Commands:
yarn install
rustup target add x86_64-pc-windows-msvc
yarn tauri dev
Build MSI:
yarn tauri build --bundles msi
Output:
src-tauri/target/release/bundle/msi/
CI / Release
- Workflow:
.github/workflows/ci-build-release.yml - Manual release workflow runs via
workflow_dispatchand takes a version input - Release pipeline updates these files together before building:
Cargo.tomlsrc-tauri/Cargo.tomlpackage.jsonsrc-tauri/tauri.conf.json
- Release pipeline commits the version bump, creates tag
vX.Y.Z, builds the Windows installer, and publishes the GitHub Release
Release process:
- Make sure your release commit is on
main. - Open
Actions->Release Build and Publish->Run workflow. - Enter a version (example:
0.2.0) or bump kind (patch,minor,major). - Run the workflow.
- The workflow will bump all version files, commit the change, create the tag, build Windows artifacts, and publish the GitHub Release.
