displayplacer
brew install displayplacer
v1.4.0
MIT
macOS command-line utility to configure multi-display resolutions, arrangements, and rotations; XRandR equivalent for macOS.
Why you might care
Automate multi-monitor setup scripts on macOS, where the native UI is cumbersome for frequent reconfigurations. Essential for developers juggling docked/undocked states or hot-desking across different display arrays. Single-purpose tool that pairs well with shell automation and dotfiles.
1.9k
30-day installs · #1010
5.3k
90-day · #1058
16.8k
365-day · #1154
4.5k
★ GitHub stars · updated 2y ago
Links
- https://github.com/jakehilborn/displayplacer
- GitHub: jakehilborn/displayplacer
- Brew formula source: Formula/d/displayplacer.rb
Blurb generated by claude-haiku-4-5 on today.
Raw metadata
{
"aliases": [],
"alternatives": [
"xrandr",
"SwitchResX",
"Resolution Changer"
],
"build_dependencies": [],
"categories": [
"terminal-utility",
"sysadmin"
],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Utility to configure multi-display resolutions and arrangements",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:36:58+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "displayplacer",
"github_default_branch": "master",
"github_last_commit_at": "2024-06-05T18:21:33Z",
"github_readme_excerpt": "\u003ca href=\"#\"\u003e\u003cimg align=\"right\" src=\"animation.gif\"\u003e\u003c/a\u003e\n\n## displayplacer\n[](https://github.com/firstcontributions/first-contributions) \nmacOS command line utility to configure multi-display resolutions and arrangements. Essentially XRandR for macOS.\n\n#### Download:\n\nInstall via Homebrew with `brew install displayplacer` or visit the [releases](https://github.com/jakehilborn/displayplacer/releases) tab.\n\n#### Usage:\n\nShow current screen info and possible resolutions: `displayplacer list`\n\nApply screen config (hz \u0026 color_depth are optional): `displayplacer \"id:\u003cscreenId\u003e res:\u003cwidth\u003ex\u003cheight\u003e hz:\u003cnum\u003e color_depth:\u003cnum\u003e scaling:\u003con/off\u003e origin:(\u003cx\u003e,\u003cy\u003e) degree:\u003c0/90/180/270\u003e\"`\n\nApply screen config using mode: `displayplacer \"id:\u003cscreenId\u003e mode:\u003cmodeNum\u003e origin:(\u003cx\u003e,\u003cy\u003e) degree:\u003c0/90/180/270\u003e\"`\n\nApply screen config with mirrored screens: `displayplacer \"id:\u003cmainScreenId\u003e+\u003c1stMirrorScreenId\u003e+\u003c2ndMirrorScreenId\u003e res:\u003cwidth\u003ex\u003cheight\u003e scaling:\u003con/off\u003e origin:(\u003cx\u003e,\u003cy\u003e) degree:\u003c0/90/180/270\u003e\"`\n\nSilence errors per-screen using quiet: `displayplacer \"id:\u003cscreenId\u003e mode:\u003cmodeNum\u003e origin:(\u003cx\u003e,\u003cy\u003e) degree:0 quiet:true\"`\n\nDisable a screen: `displayplacer \"id:\u003cscreenId\u003e enabled:false\"`\n\n#### Instructions:\n1. Manually set rotations 1st*, resolutions 2nd, and arrangement 3rd. For extra resolutions and rotations read \u0027Notes\u0027 below.\n - Open System Preferences -\u003e Displays\n - Choose desired screen rotations (use displayplacer for rotating internal MacBook screen).\n - Choose desired resolutions (use displayplacer for extra resolutions).\n - Drag the white bar to your desired primary screen.\n - Arrange screens as desired and/or enable mirroring. To enable partial mirroring hold the alt/option key and drag a display on top of another.\n2. Use `displayplacer list` to print your current layout\u0027s args, so you can create profiles for scripting/hotkeys with [Automator](https://github.com/jakehilborn/displayplace",
"github_repo": "jakehilborn/displayplacer",
"github_stars": 4457,
"github_topics": [],
"homepage": "https://github.com/jakehilborn/displayplacer",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 1852,
"installs_365d": 16770,
"installs_90d": 5321,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "MIT",
"llm_generated_at": "2026-06-20T23:48:26+00:00",
"llm_model": "claude-haiku-4-5",
"name": "displayplacer",
"oldnames": [],
"one_liner": "macOS command-line utility to configure multi-display resolutions, arrangements, and rotations; XRandR equivalent for macOS.",
"optional_dependencies": [],
"rank_30d": 1010,
"rank_365d": 1154,
"rank_90d": 1058,
"raw_hash": "980f838046e6a02d",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/d/displayplacer.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": "HEAD",
"version_stable": "1.4.0",
"versioned_formulae": [],
"why_use_this": "Automate multi-monitor setup scripts on macOS, where the native UI is cumbersome for frequent reconfigurations. Essential for developers juggling docked/undocked states or hot-desking across different display arrays. Single-purpose tool that pairs well with shell automation and dotfiles."
}