The menubar app
The app lives in the menubar and shows the same picture dotfix status prints. Its icon is quiet when everything is in sync and carries a dot when something drifted.
The window
Section titled “The window”The window has five tabs:
| Tab | What it holds |
|---|---|
| Changes | Everything dotfix can apply — installs, removals, file writes |
| Unmanaged | Installed here but in no set: adopt it, or ignore it on this machine |
| Configs | Managed files you edited by hand |
| Sets | Which sets this machine uses |
| History | Recent commits in your repository |
Select what you want and apply it. For a file you can open a diff first; secret values are redacted in it.
Adopting from the window
Section titled “Adopting from the window”Unmanaged packages can be adopted into a set or ignored on this machine, one row at a time.
Writing a hand-edited file back into the repository is deliberately not available here. That one action changes what every other machine receives on its next sync, so it stays a command-line operation:
dotfix adoptSingle instance
Section titled “Single instance”Launching dotfix while it is already running brings the existing window forward instead of starting a second copy. Two menubar icons writing the same configuration is not a state worth supporting.
Starting at login
Section titled “Starting at login”The app registers itself as a login item so its icon is there after a reboot. It does this only when it is running from /Applications or ~/Applications — a copy still sitting in a build directory would otherwise claim the login item and then disappear, leaving nothing to start and no error to explain it.