Skip to content

Desktop icons: app and folder shortcuts that stay where you leave them - #17

Merged
techartdev merged 3 commits into
mainfrom
claude/desktop-icons
Sep 14, 2026
Merged

techartdev merged 3 commits into
mainfrom
claude/desktop-icons

Conversation

@techartdev

@techartdev techartdev commented Sep 13, 2026 •

Copy link
Copy Markdown
Owner

Adds persistent desktop shortcuts for apps and remote folders, and prepares ShellCanvas 0.1.7.

Add an app from its dock menu or a folder from Files. Double-click opens it; dragging or Ctrl+arrow keys moves it on a grid. Each host keeps its own locally saved arrangement. Preview data uses separate storage.

Layouts preserve all shortcuts when a smaller window has fewer visible cells: extra columns remain reachable by scrolling. Icons and actions wait for the current workspace identity instead of retaining the previous host's identity. Unreadable saved layouts cannot be overwritten, storage errors remain visible, and cancelled drags leave positions unchanged.

Validation on the Windows main PC:

  • 364 frontend tests pass, including overflow/reload and corrupt-store regressions; TypeScript and production frontend build pass.
  • Release versions agree at 0.1.7 and the public repository check passes.
  • Standalone app SDK package, generated consumer, typechecking, build, lifecycle and custom-service fixtures pass.
  • Browser checks cover app/folder pinning and opening, keyboard movement and reload persistence, compact overflow preservation, and independent Alpha/Beta workspace layouts. No page errors observed.
  • Full clean-source npm run verify -- --native passes: 266 Rust tests, five opt-in tests ignored, all-target Clippy, and the embedded-assets Windows executable. The first local run hit compiler-process crashes; two Cargo jobs with incremental compilation disabled completed successfully. Independent adapter SDK export, generated custom/Files/console/settings packages, production-host interoperability, locked Rust packaging and npm pack dry-run also pass. The hosted Windows release-readiness run passes on the same commit.

Folder shortcuts retain the original provider path and do not follow remote renames. No multi-selection, shortcut renaming or drag-from-Files gesture. Touch and native icon interactions remain unverified. No live remote host or installer upgrade was exercised in this review.

See desktop icon documentation.

techartdev and others added 3 commits September 13, 2026 14:49
The desktop had nowhere to keep the things somebody returns to. Apps lived in
the dock and folders only inside Files, so reaching a deployment directory on
one host meant retracing the same navigation every session.

Shortcuts now tile on the desktop ground: drag to rearrange, double-click to
open, and a context menu that answers for the icon rather than the desktop.
Add them from a dock app's menu or from any folder in Files.

Positions are grid cells, not pixels. A pixel layout saved on a wide monitor
drops icons off the bottom of a laptop screen; a cell is resolved against
whatever grid currently fits, and a desktop that got narrower pulls stragglers
back inside without disturbing icons that still fit.

The layout is filed under the workspace identity, which is derived from the
endpoint, so it survives reconnecting, renaming a saved host and replacing its
key, while a different host gets a different desktop. It is stored locally and
nothing is written to the remote host. The design preview keeps its own store,
because a synthetic host must never reach a real desktop. A corrupt or future
payload is reported and left in place rather than silently replaced.

The icon layer sits under the window layer, which is already pointer-events:
none, so empty desktop space reaches icons while open windows still cover them.
Dragging uses pointer capture with clamping, like window moves, and is held to
the same 900px floor as every other move affordance.

Geometry lives in a pure module with 22 unit tests. Verified in a browser
against the running desktop: the ground and an icon open different menus,
Add to desktop stores one shortcut, a drag moved it from cell 0,0 to 3,1,
double-click opened a window, and the icon returned to the same cell after a
reload. npm run verify passes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@techartdev
techartdev merged commit 0a4e526 into main Sep 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant