On 2024-08-08 21:37, Michael Weghorn wrote:> Attached is a suggested patch that makes Thunderbird use "thunderbird"
as the app ID by passing the `--name=thunderbird` argument when starting Thunderbird via Debian's wrapper script. This makes the app icon show up as expected when run as a native Wayland client on KDE Plasma.

Attached is an updated patch that as compared to the previous version removes setting StartupWMClass to "thunderbird" instead of "thunderbird-desktop". It turns out that the WM_CLASS is still "thunderbird-desktop" and only the app ID is changed to "thunderbird" when starting Thunderbird with the `--name=thunderbird` arg.

I noticed that now when explicitly testing with GDK_BACKEND=x11 in a GNOME Wayland session. I previously had only tested that the correct icon is shown when run as a native Wayland client in both Plasma and GNOME.

Sorry for the confusion.

Regards,
Michael
From 4cf1bbfe76099fff3acfa9fdbdc33c0baf6aff76 Mon Sep 17 00:00:00 2001
From: Michael Weghorn <[email protected]>
Date: Thu, 8 Aug 2024 21:47:36 +0200
Subject: [PATCH] Use app ID that matches the desktop file name

In the Thunderbird shell wrapper script, pass the
`--app-name=thunderbird` argument to the executable when
starting Thunderbird in order to explicitly set the
app ID to "thunderbird", instead of using (the
default of) "thunderbird-default".
The use of "thunderbird-default" resulted in a generic
Wayland icon being displayed on KDE Plasma
Wayland (e.g. in the task switcher) instead of the Thunderbird
icon when Thunderbird is run as a native Wayland client
(e.g. forced by "GDK_BACKEND=wayland`) as described in Debian
bug 1022037 [1], because the app ID set for the window didn't
match the name of the desktop file
(/usr/share/applications/thunderbird.desktop).

Thanks to reddit user Apoema who mentions the possibility
to set the app ID this way in [2].

Users can still explicitly override the app ID by starting
Thunderbird using the wrapper with
`thunderbird --name=something-else`, as the last argument wins
in case the `--name` argument is passed multiple times.

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1022037
[2] https://www.reddit.com/r/swaywm/comments/w0sk3m/comment/ighcl6p/

Closes: #1022037
---
 debian/thunderbird-wrapper.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/debian/thunderbird-wrapper.sh b/debian/thunderbird-wrapper.sh
index b3f7c2e7b73..a03713b64e9 100755
--- a/debian/thunderbird-wrapper.sh
+++ b/debian/thunderbird-wrapper.sh
@@ -51,7 +51,8 @@ export MOZ_APP_LAUNCHER
 # let Thunderbird detect the system dictionaries
 export DICPATH=/usr/share/hunspell
 
-declare -a TB_ARGS=()
+# use app ID that matches the desktop file name
+declare -a TB_ARGS=(--name=thunderbird)
 
 for ARG in "$@"; do
     case "${ARG}" in
-- 
2.43.0

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to