Skip to content

feat(v3): generate Linux hicolor icons - #5918

Open
mortenolsrud wants to merge 1 commit into
wailsapp:masterfrom
mortenolsrud:feat/linux-hicolor-icons
Open

feat(v3): generate Linux hicolor icons#5918
mortenolsrud wants to merge 1 commit into
wailsapp:masterfrom
mortenolsrud:feat/linux-hicolor-icons

Conversation

@mortenolsrud

Copy link
Copy Markdown
Contributor

Summary

  • add opt-in -linuxoutputdir and independent -linuxsizes flags to wails3 generate icons
  • generate exact square PNGs with Go-native Catmull–Rom resizing, preserved aspect ratio, transparent padding, and deterministic encoding
  • stage the complete icon set on the destination filesystem and use a recoverable directory swap so failed encoding never replaces valid output
  • update fresh-project Taskfiles to track all seven default outputs and install them into matching hicolor directories for DEB, RPM, and Arch packages
  • preserve the legacy single-icon nFPM mapping when update build-assets detects an older Taskfile that cannot generate the new files
  • document the canonical-source/generated-file policy and custom-size packaging contract

Compatibility

The existing Windows/macOS options and ICO -sizes parsing are unchanged. Raw Linux generation is opt-in. Fresh projects receive the new Taskfile and package mappings; existing projects keep packageable legacy behavior until their preserved Taskfile declares the complete default Linux set.

The portable directory swap is recoverable rather than a lock-protected atomic exchange: readers may briefly see the output directory absent between renames, but they never see partially written PNGs, and the next invocation restores the previous complete set after interruption.

Verification

  • go test ./internal/commands ./internal/packager -count=1
  • targeted go test -race for Linux generation and build-asset compatibility
  • go vet ./internal/commands
  • Windows amd64 and Darwin arm64 command-test cross-builds
  • generated nFPM content preparation checked for deb, rpm, and archlinux
  • git diff --check

Closes #5917.
Related to #4025.

@github-actions github-actions Bot added Documentation Improvements or additions to documentation cli v3-alpha labels Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli Documentation Improvements or additions to documentation v3-alpha

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(v3/linux): generate correctly sized hicolor icons for Linux packages

1 participant