HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
jakehilborn
displayplacer
C2019–2024
jakehilborn / displayplacer

displayplacer

macOS command line utility to configure multi-display resolutions and arrangements. Essentially XRandR for macOS.

19Distinct people
26Mentions
2Explicit recommenders
4.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

macOS command line utility to configure multi-display resolutions and arrangements. Essentially XRandR for macOS.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I strongly suspect that this is not the full picture. I had this exact same issue, two displays, always connected to the same TB3 Dock, and they would randomly get re-assigned…

klausa used a recommendation phrase. 2 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year26 dated mentions

Observed mentions: 2019-05-25 23:35:00 UTC to 2024-05-26 10:19:53 UTC.

02462019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC110
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC404
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC716
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC716
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC514
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC211

What Hacker News says

26 sources
Interesting, I don’t have any of these issue due to 2 pieces of software: displayplacer [0] and Phoenix [1]. Both free and open source. displayplacer is a CLI tool that once you have your monitors configured how you want them, it can give you a command you can run in the future to reconfigure your monitors the same way again. I have 2 commands stored (that I activate via Alfred but I could have also set up aliases in zsh) for the 2 locations I work at. When I sit down I run the command and everything snaps into place. I could automate this to run automatically but I haven’t felt the need. Phoenix is a tool that lets me write my own keyboard shortcuts for window management. I have 1 key combo that detects which location I’m at (by looking at monitor UUIDs) then positions all my windows how I like them. I also have shortcuts for resizing wi
Read the rest
ndows on a monitor or moving windows between monitors. You can accomplish something similar with Moom [2] (paid) and Rectangle [3] (free) or Magnet [4] (paid). As for the dock issue, I use right-side dock with auto-hide and I don't find this bothersome at all. I use it plenty in addition to Alfred to launch apps. I have 3 monitors, 1 horizontal in the middle and 2 vertical on each side. Lastly the Menu Bar, I have it only on my center display, always visible. Never felt like that was a problem or limiting to me. [0] https://github.com/jakehilborn/displayplacer [1] https://github.com/kasper/phoenix [2] https://manytricks.com/moom/ [3] https://github.com/rxhanson/Rectangle [4] https://magnet.crowdcafe.com
In Multiple Displays on a Mac Sucks
Looks like displayplacer uses the standard `CGDisplayCreateUUIDFromDisplayID` which the system also uses internally: https://github.com/jakehilborn/displayplacer/blob/master/dis... This should be prone to the same issue. Your problem might actually be caused by a timing bug, where the EDID is not fully available in the first few milliseconds of the reconnection, and the system doesn't reconcile after it becomes available. displayplacer will get the full picture because it's always run a long time after the connection has stabilized. I can't be certain, but I noticed some slow monitors/hubs do have that timing issue by observing the zero/null values for UUID in The Monitor Database: https://db.lunar.fyi
In Weird monitor bugs people sent me in the last 5 years
klausa·Aug 28, 2022Recommendation phrase
I strongly suspect that this is not the full picture. I had this exact same issue, two displays, always connected to the same TB3 Dock, and they would randomly get re-assigned after wake-up. Which in my case was doubly irritating, since one of those is in portrait mode, so "fixing it" required tilting my head to be able to navigate the mouse correctly. There's a small CLI utility called `displayplacer`[1], that basically fixed this for me. I don't... really know what exact EDID fields or whatever metadata it's reading, but after I used it once to "save" the correct orientation/placement, I could reset it to the "correct" one every time after that. Highly recommended if that's something you're struggling with. [1]: https://github.com/jakehilborn/displayplacer
In Weird monitor bugs people sent me in the last 5 years
I'm using the command: displayplacer "id:8B1B0572-EEDF-1A21-596C-DD3D9EE1AEB2 res:3008x1692 hz:60 color_depth:8 scaling:on origin:(0,0) degree:0" "id:FFD872A9-4636-D17D-303C-CEECD89D6403 res:3008x1692 hz:60 color_depth:8 scaling:on origin:(3008,-32) degree:0" to force my 2020 13" core i5 MBP to set the screen correctly. I have to use it every time I unplug my OWC thunderbolt3 hub plugged with two Viewsonic 4k 27" (same model, it seems to be confusing to OsX) check https://github.com/jakehilborn/displayplacer Beside that I'm almost good, without any artifacts you mentioned
In Ask HN: How on earth are you using your Apple computer with external displays?

Showing the 15 most recent of 26 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.