Skip to content

Repository files navigation

🖥️ Monitor Manager

Version License CI

Monitor Manager is a tray application for switching complete multi-monitor setups. Enable or disable displays, change signal settings, control HDR, and save each arrangement as a reusable profile.

Monitor Manager overview

Features

  • Enable or disable individual monitors without losing access to them in the app.
  • Save display profiles and switch between them from the window or system tray.
  • Keep monitor numbers stable across restarts and profile switches.
  • Store resolution, refresh rate, scaling, orientation, position, primary status, and HDR preference per monitor and per profile.
  • Handle any display count exposed by the operating system without an application-level fixed limit, with collision-safe placement and a scrollable arrangement preview.
  • Change Windows desktop scaling with the values supported by each display.
  • Restore the last known mode when a disabled Windows monitor is re-enabled.
  • Detect Windows Win+P projection changes and safely recover from Duplicate mode by applying a saved profile.
  • Open Windows Display settings or macOS Displays settings directly from the main toolbar.
  • Identify connected displays with numbered overlays.
  • Start automatically at login.
  • Start minimized so only the tray or menu-bar icon appears until the application is opened.
  • Use the supplied Monitor Manager icon in the window, tray, and packaged application.

Screenshots

Signal controls Settings
Resolution, refresh rate, scaling, and orientation controls Monitor Manager settings
Safe profile deletion
Profile deletion confirmation

Install

Download the latest Windows installer or portable build from GitHub Releases.

Windows SmartScreen may warn about the application because the current release is not code-signed. Review the release checksums before running a downloaded file.

macOS source builds are available, but the macOS adapter still requires hardware testing and displayplacer for profile application.

Using display profiles

  1. Open Current setup.
  2. Select a monitor and adjust its role or signal settings.
  3. Choose Save as profile and enter a useful name.
  4. Apply the profile from Monitor Manager or the tray menu.

To restore a monitor disabled by Monitor Manager, open Current setup, enable that monitor, and choose Apply changes. A physically disconnected monitor must be reconnected before Windows can activate it.

Windows Win+P behavior

PC screen only, Second screen only, and Extend are compatible with Monitor Manager. The app refreshes when Windows changes the active display topology, keeps disabled targets available, and can restore them through a saved profile.

Duplicate uses one shared Windows source for multiple physical monitors. Monitor Manager detects and labels that state, but does not save or edit mirrored layouts. Choose Extend in Win+P, or apply a saved Monitor Manager profile to return to independent displays.

Changes applied in the operating system are refreshed through display events and whenever Monitor Manager regains focus. Changes applied by Monitor Manager use the operating system display configuration, so the native settings panel reflects the accepted configuration too.

Platform support

Capability Windows macOS
Display discovery Native, hardware verified Native discovery
Resolution, refresh, rotation, and position Native CCD APIs, hardware verified displayplacer
Enable and disable displays Native CCD APIs, hardware verified displayplacer
Per-display scaling Supported, hardware verified Read-only percentage
HDR switching Supported, hardware verified Read-only
Tray or menu bar profiles Supported Supported
Start at login Supported Supported

Development

Requirements:

  • Node.js 20.19 or newer
  • npm
  • Windows 10/11 or macOS
npm.cmd install
npm.cmd run dev

Quality and packaging commands:

npm.cmd run typecheck
npm.cmd test
npm.cmd run build
npm.cmd run package:win

Run npm run package:mac on macOS to create DMG and ZIP packages.

Project documentation

  • Architecture: components, state flow, persistence, and native boundaries
  • Decisions: accepted architecture decisions and tradeoffs
  • Testing: automated checks, hardware verification, and release checklist
  • Handoff: implementation notes, known limitations, and recommended next work
  • Changelog: version history
  • Contributing: local setup and contribution workflow

License

Monitor Manager is released under the MIT License. The logo under assets/branding is the official project artwork supplied by the project owner.

About

Tray-based display profiles, HDR, refresh rate, scaling, and monitor topology control for Windows and macOS.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages