feat: show app icons and improve Open In menu organization#707
Merged
Conversation
Extract each app's icon on the backend using Info.plist and sips, converting to a 32x32 base64 PNG data URI. Icon extraction runs in parallel across threads for all detected apps. The frontend menu system gains an iconSrc field for image-based icons alongside existing Svelte component icons. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Matt Toohey <contact@matttoohey.com>
Group "Open In" submenu items by app type (terminals, editors/IDEs, file browsers, copy path) with separators between each group. Update the shared menu surface to use --bg-primary for better contrast in light themes and --border-muted for more visible separators. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Matt Toohey <contact@matttoohey.com>
- Add ghostty (com.mitchellh.ghostty) to KNOWN_OPENERS so it can actually appear as an opener app, matching the frontend terminalAppIds - Parallelize mdfind calls across threads instead of running them sequentially, reducing latency when detecting installed apps - Replace manual temp file naming with the tempfile crate for robust unique file handling during icon extraction Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Matt Toohey <contact@matttoohey.com>
- Replace match with empty Err arm with idiomatic if-let in thread join result handling - Add draggable="false" to menu icon images to prevent accidental drag-and-drop within the menu Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Matt Toohey <contact@matttoohey.com>
Sort terminal, editor/IDE, and file browser apps by name within their respective sections in the Open In submenu. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Matt Toohey <contact@matttoohey.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
sipsfor icon conversion--bg-primarybackground,--border-mutedseparators, prevent icon dragging, and supporticonSrcfor image-based menu iconsTest plan
🤖 Generated with Claude Code