fluttercommunity / fluttercommunity/flutter_launcher_icons
Add very basic Linux support (copy PNG icon to linux directory)
- Dominant language
- Dart
- Stars
- 2.1k
- Forks
- 426
- PR merge metrics
- No merged PRs in 30d
Description
### :speech_balloon: Description
Currently, flutter_launcher_icons supports Android, iOS, Web, Windows, and macOS, but ignores the Linux platform. While Linux executables don't embed icons directly into the binary (like Windows .exe does), developers still need the icon image file copied into the linux/ directory to use it later for .desktop files, packaging (like Flatpak, Snap, or Debian packages), or setting the window icon via Dart code.
Right now, developers have to manually copy the file or write custom side-scripts just for the Linux build.
### Solution proposal
It would be incredibly helpful if the package could handle Linux just like the other platforms, so we can manage all platforms with a single plugin.
If linux is enabled in `pubspec.yaml`:
```
flutter_launcher_icons:
# ... other platforms ...
linux:
generate: true
image_path: "assets/app.png"
```
The plugin should simply take the source image, optionally resize it to a standard square dimension (e.g., 256x256 or 512x512), and copy/save it as a standard .png file into a specific path inside the Linux directory, for example: `linux/assets/app_icon.png` (or a path configurable in the yaml).
Implementing this would be a huge time-saver for desktop developers. It requires no complex image manipulation (like .ico or .icns formats) or modifying native code files - just a simple file copy/resize operation to make the asset readily available for Linux packaging tools.
Contributor guide
No contributing guide indexed for this repository
Research direction
No files or tests are named. Start by reading the existing Android, iOS, Web, Windows, and macOS generation paths plus their configuration handling; done means a Linux-enabled configuration copies the source PNG into the Linux directory, with the proposed resize and output-path behavior resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart, flutter, linux
- Domain
- desktop-dev
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100