linux: Fix Wayland window associations (#1718)
* linux: Fix Wayland window associations
`src/m_Do/m_Do_main.cpp` uses `SDL_SetAppMetadata("Dusklight", DUSK_VERSION_STRING, "dev.twilitrealm.dusk")` which results in the Wayland appId getting set to `dev.twilitrealm.dusk`. Wayland compositors associate Wayland windows to desktop files by comparing the window appId against installed desktop files by the name of the desktop files. For a given window with appId `dev.twilitrealm.dusk` it would look for `dev.twilitrealm.dusk.desktop`, and because the desktop file is not named that the compositor is unable to correctly associate the window which results in the default Wayland icon being shown for the window. It also results in windows not being associated with the given launcher if the desktop file is pinned to a task management widget of some kind.
Fix this by renaming the desktop file to `dev.twilitrealm.dusk.desktop`. Also while we're at it we can rename the icons as well to match the desktop file name, which isn't required but is a bit cleaner and will fit various packaging standards better.
Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
* Use dev.twilitrealm.dusk instead
---------
Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
@@ -20,7 +20,7 @@ for install_path in build/install/*; do
|
||||
cp -r "$install_path" build/appdir/usr/bin
|
||||
done
|
||||
cp -r platforms/freedesktop/{16x16,32x32,48x48,64x64,128x128,256x256,512x512,1024x1024} build/appdir/usr/share/icons/hicolor
|
||||
cp platforms/freedesktop/dusklight.desktop build/appdir/usr/share/applications
|
||||
cp platforms/freedesktop/dev.twilitrealm.dusk.desktop build/appdir/usr/share/applications
|
||||
|
||||
cd build/install
|
||||
VERSION="$DUSK_VERSION" NO_STRIP=1 "$linuxdeploy" \
|
||||
|
||||
@@ -248,11 +248,11 @@
|
||||
runHook preInstall
|
||||
install -Dm755 dusklight "$out/bin/dusklight"
|
||||
cp -r "$src/res" "$out/bin/res"
|
||||
install -Dm644 "$src/platforms/freedesktop/dusklight.desktop" \
|
||||
"$out/share/applications/dusklight.desktop"
|
||||
install -Dm644 "$src/platforms/freedesktop/dev.twilitrealm.dusk.desktop" \
|
||||
"$out/share/applications/dev.twilitrealm.dusk.desktop"
|
||||
for size in 16 32 48 64 128 256 512 1024; do
|
||||
install -Dm644 "$src/platforms/freedesktop/''${size}x''${size}/apps/dusklight.png" \
|
||||
"$out/share/icons/hicolor/''${size}x''${size}/apps/dusklight.png"
|
||||
install -Dm644 "$src/platforms/freedesktop/''${size}x''${size}/apps/dev.twilitrealm.dusk.png" \
|
||||
"$out/share/icons/hicolor/''${size}x''${size}/apps/dev.twilitrealm.dusk.png"
|
||||
done
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
|
Before Width: | Height: | Size: 928 KiB After Width: | Height: | Size: 928 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 1014 B After Width: | Height: | Size: 1014 B |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 279 KiB After Width: | Height: | Size: 279 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
@@ -3,7 +3,7 @@ Name=Dusklight
|
||||
GenericName=Dusklight
|
||||
Comment=PC port of a classic adventure game
|
||||
Exec=dusklight
|
||||
Icon=dusklight
|
||||
Icon=dev.twilitrealm.dusk
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Game;
|
||||