Skip to content

feat(linux): browse, restore and empty the freedesktop Trash - #24

Draft
ooonea wants to merge 2 commits into
jonx:mainfrom
ooonea:linux-trash
Draft

ooonea wants to merge 2 commits into
jonx:mainfrom
ooonea:linux-trash

Conversation

@ooonea

@ooonea ooonea commented Nov 1, 2026 •

Copy link
Copy Markdown

Add the primary freedesktop Trash to Locations. Restore items from the selected item's metadata without replacing an existing destination, and remove metadata when emptying the Trash or permanently deleting an item. All filesystem work runs on the existing workers.

Keep filename bytes intact, tolerate unrelated metadata lines, and reject malformed metadata or symlinked Trash directories. Unrelated broken entries do not prevent restoring a valid item.

Depends on #18. Rebase after it merges, adapting the Trash row to the Linux XDG resolver, before marking this PR ready for review.

The isolated native regressions cover restore collisions, metadata cleanup, filename bytes and symlink handling. The filesystem tests and Clippy pass.

Linux Trash menu

ooonea and others added 2 commits November 1, 2026 18:40
Expose the primary Trash in Locations, restore original paths from standard trash metadata without overwriting collisions, and clean sidecar metadata when emptying or deleting trashed items. Run filesystem work on the existing workers.

Assisted-by: OpenAI Codex
@ooonea
ooonea marked this pull request as draft November 1, 2026 20:41
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