Skip to content

Conversation

@kevintraver
Copy link

Summary

Add support for custom image files (PNG, JPEG, ICNS) as a third icon type alongside existing app icons and SF Symbols.

Motivation

Sometimes you want to use a shell command or script to open a website or app, but still display a specific icon rather than the generic terminal icon. For example:

  • A command that opens Hacker News in your browser — you'd want to show the HN favicon
  • A script that launches a specific app with custom flags — you'd want to show that app's icon
  • A URL scheme action where the favicon doesn't load correctly

Custom icons solve this by letting you specify any PNG, JPEG, or ICNS file as the icon.

Changes

  • Add CustomIconRenderer for rendering custom icons with proper sizing and rounded corners
  • Add CustomIconImage SwiftUI view for displaying custom icons in the cheatsheet
  • Add "Custom Icon..." option to the icon picker menu
  • Add file picker handlers for both Actions and Groups
  • Add validation to ensure selected files are valid images (shows error if not)
  • Icons are rendered at the correct size with macOS-style rounded corners to match app bundle icons

How to use

  1. Click the icon button on any action or group
  2. Select "Custom Icon..."
  3. Choose a PNG, JPEG, or ICNS file
  4. The custom icon will display in both the settings editor and cheatsheet

🤖 Generated with Claude Code

Add support for custom image files as icons alongside existing app
icons. Users can now select PNG, JPEG, or ICNS files from the "Custom
Icon..." menu option.

Changes:
- Add CustomIconImage SwiftUI view for rendering custom icons
- Add "Custom Icon..." option to icon picker menu
- Add file picker handlers for Actions and Groups
- Apply proper sizing and rounded corners to match app bundle icons
- Add validation to ensure selected files are valid images

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@kevintraver kevintraver force-pushed the feat/custom-png-icon-support branch from 79b610d to b324c1e Compare December 20, 2025 23:59
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