DeskPilot
Save your morning set of tabs, apps and folders under one name. Open it in one command.
Free right now — no account, no card
Preview
1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.
Free while we’re in preview
Get DeskPilot
Save your morning set of tabs, apps and folders under one name. Open it in one command.
The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.
One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.
Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.
- One file — no installer
- Runs on your machine, offline
- Source code published below
Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, DeskPilot is included in every plan along with the rest of the range.
Save once
deskpilot save work \
`--add` url=https://mail.example.com \
`--add` "command=code /home/user/project" \
`--add` path=/home/user/Documents
That writes ~/.deskpilot/work.json. deskpilot open work then walks the items in order: URLs and paths go to your OS default handler (cmd /C start on Windows, open on macOS, xdg-open elsewhere), and commands are launched through os/exec and deliberately not waited on, since these are apps meant to stay open rather than scripts meant to finish.
This launches real processes. --dry-run prints what each item would do without starting anything.
When one item breaks
A missing xdg-open on a minimal Linux box fails that one item, reports it, and moves on. The rest of the workspace still opens, and a summary line counts what launched and what didn’t.
Two things to know
Command values are split on whitespace, so an argument containing a space won’t survive this prototype. And remove is a dry run until --apply.
Window positioning, per-monitor layout profiles and taskbar customisation need native Win32, AppKit or X11 calls. Not in a dependency-free Go binary. DeskScene is the sibling that reasons about monitor layouts.
Reading on the job itself
- How to save and reopen your whole working setup Save the list — the folders, the applications, the pages — under a name, and open the name. Restoring exact...
Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams
A working CLI prototype of the reproducible-workspace core: save a named set of URLs/commands/paths and launch them all with one command. Window positioning, monitor profiles, and taskbar customization need native Win32/AppKit/X11 window-management APIs and are on the roadmap.
Naming status
Working name only — brand verdict **AVOID** (Very High). Collision: DeskPilot. Rename completely.
What it draws on
Existing paid software whose best ideas shaped this program: DisplayFusion Pro, Stardock Fences, Actual Window Manager, Stardock Start11.
Command line
There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.
DeskPilot - named workspace launcher
Usage:
deskpilot save <name> --add TYPE=TARGET [--add TYPE=TARGET ...] [--dir <workspace-dir>]
deskpilot list [--dir <workspace-dir>]
deskpilot open <name> [--dir <workspace-dir>] [--dry-run]
deskpilot remove <name> [--dir <workspace-dir>] [--apply]
deskpilot help
TYPE is one of: url, command, path
--add url=https://example.com
--add command="code /home/user/project" (split on whitespace: program then args;
quoting args-with-spaces is not supported)
--add path=/home/user/Documents
Default workspace directory: ~/.deskpilot
"deskpilot open" launches real processes / opens real URLs and files with
your OS's default handler. Use --dry-run to preview what it would do
without launching anything.
Recorded from the shipped binary, not written by hand.
Source
Every file the program is built from:
console.go · console_test.go · guided.go · main.go
SHA-256 checksums · build instructions & scope notes · full build plan