Follow-up to the GTK→ShellApp event-dispatch migration. Parent: #448 (regression from #540).
Summary
The app shows a generic taskbar/dock icon instead of the VimCode icon.
Screenshot: ~/Pictures/2.png — generic gear icon (left, current) vs the correct VC icon (right, expected/old).
Root-cause hint
Under the ShellApp runner the window's application-id / icon-name isn't being applied, so the desktop environment can't match the installed .desktop file to a window:
- vimcode installs
com.vimcode.VimCode.desktop — src/gtk/util.rs:140 (.desktop path at :142).
- Ensure the migrated
gtk4::Application is created with application id com.vimcode.VimCode and that the window/app sets the icon (set_icon_name / Application default icon) on the new path so the WM matches the .desktop Icon= entry / StartupWMClass.
Acceptance
Taskbar/dock shows the VimCode (VC) icon. (Headless can't assert the dock icon — manual smoke; but verify the app-id and icon-name are set programmatically.)
Follow-up to the GTK→ShellApp event-dispatch migration. Parent: #448 (regression from #540).
Summary
The app shows a generic taskbar/dock icon instead of the VimCode icon.
Screenshot:
~/Pictures/2.png— generic gear icon (left, current) vs the correct VC icon (right, expected/old).Root-cause hint
Under the ShellApp runner the window's application-id / icon-name isn't being applied, so the desktop environment can't match the installed
.desktopfile to a window:com.vimcode.VimCode.desktop—src/gtk/util.rs:140(.desktoppath at:142).gtk4::Applicationis created with application idcom.vimcode.VimCodeand that the window/app sets the icon (set_icon_name/Applicationdefault icon) on the new path so the WM matches the.desktopIcon=entry /StartupWMClass.Acceptance
Taskbar/dock shows the VimCode (VC) icon. (Headless can't assert the dock icon — manual smoke; but verify the app-id and icon-name are set programmatically.)