DeskHub
Saves and restores desktop icon positions
DeskHub saves the position of every icon on the desktop and puts them back when a display change scrambles them. Each saved layout is tied to a context, which is the display arrangement plus the network the Mac is on, so a laptop docked at home, undocked at home, and undocked at work can each keep their own arrangement even when two of them have identical screens. It replaces DIM, a third-party icon position manager, and adds the network awareness DIM lacked.
Saving and restoring go through Finder via Apple Events: each item’s desktop position is read on save and set on restore, in two passes because Finder sometimes nudges an icon while others are still moving. Items that no longer exist are skipped, and items with no saved position are left alone. A context is fingerprinted from the screen count, pixel sizes, and arrangement plus the Wi-Fi network or, failing that, the default gateway, with no extra permission prompts.
Other things it does:
- Auto-restore: display and network changes are debounced for a few seconds, then the matching layout is applied and a notification confirms it. The context is also checked at launch, so a change that happened while the app was not running is caught at login.
- Late-mounting volumes such as a Time Machine drive or a network share get their icon moved into place a moment after they mount.
- Fallback layouts: mark one layout per display as its fallback and it is used on any unrecognized network, such as hotel Wi-Fi or a phone hotspot.
- Menu: current context, Save Layout for This Context, Restore Layout Now, a Saved Layouts submenu with Restore, Rename, and Delete per layout, and Auto-Restore and Launch at Login toggles.
- A first-run alert explains that the desktop must be set to Sort By None with Stacks off, or Finder will override every restore.