fix(icon): the Windows icon is the Longshot logo, in every size #21
No reviewers
Labels
No labels
area/build
area/install
area/saves
area/tooling
area/ui
area/updates
ci: approved
good first issue
gpu/amd
gpu/intel
gpu/nvidia
help wanted
kind
bug
kind
chore
kind
docs
kind
feature
kind
performance
kind
question
platform/linux
platform/steam-deck
platform/windows
priority
critical
priority
high
priority
low
risk
high
risk
low
risk
medium
status
blocked
status
confirmed
status
duplicate
status
invalid
status
needs-info
status
wontfix
ci: approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/LongshotLauncher!21
Loading…
Reference in a new issue
No description provided.
Delete branch "HumanBean/LongshotLauncher:fix/launcher-icon"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why
The launcher's Windows icon (the exe, taskbar, Alt-Tab) showed the old blue hookshot:
App/Assets/longshot.icowas older artwork, not the green Longshot logo inlongshot.png.What changed
App/Assets/longshot.icomade again fromlongshot.pngby the newscripts/make_icon.py(Pillow, Lanczos; the same bytes on every run): 16, 20, 24, 32, 40, 48, 64, 96, 128 as 32-bit bitmaps, 256 as a PNG.MainWindow.axaml.cssetsIconto the.icoon Windows (anAvaloniaResourceinApp/LongshotLauncher.csproj), so Windows gets real small and big icons instead of the 512 px PNG scaled down. Linux keeps the PNG.Program.BuildAvaloniaAppsets the Waylandapp_idand X11WM_CLASStoShortcuts.LauncherEntryName(longshot-launcher); the menu entry (Core/Shortcuts.cs) and the AppImage's entry (scripts/package.sh) sayStartupWMClass=longshot-launcher.tests/launcher_core/IconChecks.cs(the.icohas every size; its 256 islongshot.pngscaled down);InstallChecks.cs(the menu entry'sStartupWMClass). README: the script in the layout table.Flags and settings
None.
Measurements
main:
a799805f(2026-11-13)this PR: fix/launcher-icon @
f81a0f41Hardware: Linux PC (CachyOS), .NET SDK 10.0.404
Scene: not a game change; the win-x64 single-file exe as
scripts/package.shpublishes itMethod: the exe's icon group read with Python
pefile, images decoded with Pillow; the launcher's test filesHow to reproduce: publish win-x64 as
package.shdoes and list the exe's icon group;python -I tests/test_launcher_core.py,python -I tests/test_release.pya799805ff81a0f41Testing
Tested: both test files before and after; Release builds with warnings as errors, Linux and win-x64 (
-p:EnableWindowsTargeting=true), 0 warnings; the published exe's icons extracted and looked at; the icon check fails on main's.ico; the Linux build in a headless sway:swaymsg -t get_treereportsapp_id: longshot-launcher.Not tested: Windows itself (no Windows or Wine here).
Needs other testers:
Screenshots
The exe's icon resources, every size at 1x (main @
a799805fabove, this PR below; this PR's icon is unchanged since the first push):The Linux window (sway, Wayland):
Risk and rollback
Only the icon and the Linux window's class change. A Linux compositor rule written for the old
app_idLongshotLauncherneedslongshot-launcher. Reverting the commit is enough.Issues
None.
Checklist
For everyone
type(scope): description).main.python -I -B tests/run_all.pyrun and passing (any failure that also fails onmainis named above). (This repository's set:tests/test_launcher_core.pyandtests/test_release.py.)third_party/untouched (a new folder with aPROVENANCE.mdinstead).If applicable
mainand passing here.3855ed7335f81a0f412dfix(icon): the Longshot logo in every size, and the launcher's own taskbar identityto fix(icon): the Windows icon is the Longshot logo, in every size