WM_Class игнорируется, и значки запущенного приложения не сочетаются со значком закрепленного/любимого приложения

#python #user-interface #gtk

Вопрос:

В моей Ubuntu 18.04 у меня есть этот файл рабочего стола:

 $ cat gnome-connection-manager.desktop 
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Gnome Connection Manager
Comment=A simple ssh connection manager for gnome
GenericName=Connection Manager
Exec=python3 /opt/gnome-connection-manager-1.2.1/gnome_connection_manager.py
Terminal=false
Type=Application
Icon=/opt/gnome-connection-manager-1.2.1/icon.png
Categories=GTK;GNOME;Network;
Name[en]=Gnome Connection Manager
StartupWMClass=[gnome_connection_manager.py]
 

Я поставил Exec так, потому что для этого нужен python3, и я не могу поставить только скрипт, он не запускается.

И теперь я закрепляю это приложение как избранное на своей панели инструментов/панели задач, и при запуске оно не сочетает значок запущенного приложения с закрепленным значком приложения.

Когда я xprop и нажимаю на окно запущенного приложения, я вижу эту строку:

 WM_CLASS(STRING) = "gnome_connection_manager.py", "Gnome_connection_manager.py"
 

Так почему же он не объединяет значки, если я уже поместил свойство WM_CLASS в файл рабочего стола?

Я использую gnome.

И, разыскивая gtk, у меня есть:

 $ dpkg -l | grep gtk
ii  apport-gtk                                 2.20.9-0ubuntu7.24                               all          GTK  frontend for the apport crash report system
ii  gir1.2-gtk-3.0:amd64                       3.22.30-1ubuntu4                                 amd64        GTK  graphical user interface library -- gir bindings
ii  gir1.2-gtksource-3.0:amd64                 3.24.7-1                                         amd64        gir files for the GTK  syntax highlighting widget
ii  gir1.2-javascriptcoregtk-3.0:amd64         2.4.11-3ubuntu3                                  amd64        JavaScript engine library from WebKitGTK  - GObject introspection data
ii  gir1.2-javascriptcoregtk-4.0:amd64         2.32.3-0ubuntu0.18.04.1                          amd64        JavaScript engine library from WebKitGTK  - GObject introspection data
ii  gir1.2-spiceclientgtk-3.0:amd64            0.34-1.1build1                                   amd64        GTK3 widget for SPICE clients (GObject-Introspection)
ii  gstreamer1.0-gtk3:amd64                    1.14.5-0ubuntu1~18.04.2                          amd64        GStreamer plugin for GTK 3
ii  gtk-update-icon-cache                      3.22.30-1ubuntu4                                 amd64        icon theme caching utility
ii  gtk2-engines-murrine:amd64                 0.98.2-2ubuntu1                                  amd64        cairo-based gtk -2.0 theme engine
ii  gtk2-engines-pixbuf:amd64                  2.24.32-1ubuntu1                                 amd64        pixbuf-based theme for GTK  2.x
ii  gtk2hs-buildtools                          0.13.3.1-1                                       amd64        Tools to build the Gtk2Hs suite of User Interface libraries
ii  gtkterm                                    0.99.7 git9d63182-1                              amd64        simple GTK  serial port terminal
ii  ibus-gtk:amd64                             1.5.17-3ubuntu5.3                                amd64        Intelligent Input Bus - GTK 2 support
ii  ibus-gtk3:amd64                            1.5.17-3ubuntu5.3                                amd64        Intelligent Input Bus - GTK 3 support
ii  libavahi-ui-gtk3-0:amd64                   0.7-3.1ubuntu1.3                                 amd64        Avahi GTK  User interface library for GTK3
ii  libcanberra-gtk-module:amd64               0.30-5ubuntu1                                    amd64        translates GTK  widgets signals to event sounds
ii  libcanberra-gtk0:amd64                     0.30-5ubuntu1                                    amd64        GTK  helper for playing widget event sounds with libcanberra
ii  libcanberra-gtk3-0:amd64                   0.30-5ubuntu1                                    amd64        GTK  3.0 helper for playing widget event sounds with libcanberra
ii  libcanberra-gtk3-module:amd64              0.30-5ubuntu1                                    amd64        translates GTK3 widgets signals to event sounds
ii  libchamplain-gtk-0.12-0:amd64              0.12.16-2                                        amd64        Gtk  widget to display maps
ii  libcheese-gtk25:amd64                      3.28.0-1ubuntu1                                  amd64        tool to take pictures and videos from your webcam - widgets
ii  libclutter-gtk-1.0-0:amd64                 1.8.4-3                                          amd64        Open GL based interactive canvas library GTK  widget
ii  libcolord-gtk1:amd64                       0.1.26-2                                         amd64        GTK  convenience library for interacting with colord
ii  libdbusmenu-gtk3-4:amd64                   16.04.1 18.04.20171206-0ubuntu2                  amd64        library for passing menus over DBus - GTK  version
ii  libdbusmenu-gtk4:amd64                     16.04.1 18.04.20171206-0ubuntu2                  amd64        library for passing menus over DBus - GTK  version
ii  libgnome-autoar-gtk-0-0:amd64              0.2.3-1ubuntu0.4                                 amd64        GTK  widgets for the GNOME Autoar library
ii  libgtk-3-0:amd64                           3.22.30-1ubuntu4                                 amd64        GTK  graphical user interface library
ii  libgtk-3-bin                               3.22.30-1ubuntu4                                 amd64        programs for the GTK  graphical user interface library
ii  libgtk-3-common                            3.22.30-1ubuntu4                                 all          common files for the GTK  graphical user interface library
ii  libgtk-3-dev:amd64                         3.22.30-1ubuntu4                                 amd64        development files for the GTK  library
ii  libgtk2-perl                               2:1.24992-1build1                                amd64        Perl interface to the 2.x series of the Gimp Toolkit library
ii  libgtk2.0-0:amd64                          2.24.32-1ubuntu1                                 amd64        GTK  graphical user interface library
ii  libgtk2.0-bin                              2.24.32-1ubuntu1                                 amd64        programs for the GTK  graphical user interface library
ii  libgtk2.0-common                           2.24.32-1ubuntu1                                 all          common files for the GTK  graphical user interface library
ii  libgtk3-perl                               0.032-1                                          all          Perl bindings for the GTK  graphical user interface library
ii  libgtkmm-3.0-1v5:amd64                     3.22.2-2                                         amd64        C   wrappers for GTK  (shared libraries)
ii  libgtksourceview-3.0-1:amd64               3.24.7-1                                         amd64        shared libraries for the GTK  syntax highlighting widget
ii  libgtksourceview-3.0-common                3.24.7-1                                         all          common files for the GTK  syntax highlighting widget
ii  libgtksourceview-3.0-dev:amd64             3.24.7-1                                         amd64        development files for the GTK  syntax highlighting widget
ii  libgtksourceview-3.0-doc                   3.24.7-1                                         all          documentation for the GTK  syntax highlighting widget
ii  libgtkspell0:amd64                         2.0.16-1.2                                       amd64        spell-checking addon for GTK's TextView widget
ii  libgtkspell3-3-0:amd64                     3.0.9-2                                          amd64        spell-checking addon for GTK 's TextView widget
ii  libjavascriptcoregtk-1.0-0:amd64           2.4.11-3ubuntu3                                  amd64        JavaScript engine library from WebKitGTK 
ii  libjavascriptcoregtk-3.0-0:amd64           2.4.11-3ubuntu3                                  amd64        JavaScript engine library from WebKitGTK 
ii  libjavascriptcoregtk-3.0-bin               2.4.11-3ubuntu3                                  amd64        JavaScript engine library from WebKitGTK  - command-line interpreter
ii  libjavascriptcoregtk-3.0-dev:amd64         2.4.11-3ubuntu3                                  amd64        JavaScript engine library from WebKitGTK  - development files
ii  libjavascriptcoregtk-4.0-18:amd64          2.32.3-0ubuntu0.18.04.1                          amd64        JavaScript engine library from WebKitGTK 
ii  libreoffice-gtk3                           1:6.0.7-0ubuntu0.18.04.10                        amd64        office productivity suite -- GTK  3 integration
ii  libspice-client-gtk-3.0-5:amd64            0.34-1.1build1                                   amd64        GTK3 widget for SPICE clients (runtime library)
ii  libspice-client-gtk-3.0-dev                0.34-1.1build1                                   amd64        GTK3 widget for SPICE clients (development files)
ii  libwebkit2gtk-4.0-37:amd64                 2.32.3-0ubuntu0.18.04.1                          amd64        Web content engine library for GTK 
ii  libwebkitgtk-1.0-0:amd64                   2.4.11-3ubuntu3                                  amd64        Web content engine library for GTK 
ii  libwebkitgtk-3.0-0:amd64                   2.4.11-3ubuntu3                                  amd64        Web content engine library for GTK 
ii  libwebkitgtk-3.0-dev:amd64                 2.4.11-3ubuntu3                                  amd64        Web content engine library for GTK  - development files
ii  libwmf0.2-7-gtk                            0.2.8.4-12                                       amd64        Windows metafile conversion library
ii  libwxgtk-media3.0-gtk3-0v5:amd64           3.0.4 dfsg-3                                     amd64        wxWidgets Cross-platform C   GUI toolkit (GTK  3 media library runtime)
ii  libwxgtk-media3.0-gtk3-dev                 3.0.4 dfsg-3                                     amd64        wxWidgets Cross-platform C   GUI toolkit (GTK  3 media library development)
ii  libwxgtk3.0-gtk3-0v5:amd64                 3.0.4 dfsg-3                                     amd64        wxWidgets Cross-platform C   GUI toolkit (GTK  3 runtime)
ii  libwxgtk3.0-gtk3-dev                       3.0.4 dfsg-3                                     amd64        wxWidgets Cross-platform C   GUI toolkit (GTK  3 development)
ii  python-gtk2                                2.24.0-5.1ubuntu2                                amd64        Python bindings for the GTK  widget set
ii  python3-aptdaemon.gtk3widgets              1.1.1 bzr982-0ubuntu19.5                         all          Python 3 GTK  3 widgets to run an aptdaemon client
ii  software-properties-gtk                    0.96.24.32.14                                    all          manage the repositories that you install software from (gtk)
ii  transmission-gtk                           2.92-3ubuntu2                                    amd64        lightweight BitTorrent client (GTK  interface)
ii  ubuntu-release-upgrader-gtk                1:18.04.44                                       all          manage release upgrades
ii  usb-creator-gtk                            0.3.5ubuntu18.04.2                               amd64        create a startup disk using a CD or disc image (for GNOME)
ii  xdg-desktop-portal-gtk                     1.0.2-0ubuntu1.1                                 amd64        GTK /GNOME portal backend for xdg-desktop-portal
ii  xdg-user-dirs-gtk                          0.10-2                                           amd64        tool to manage well known user directories (Gtk extension)
 

Я знаю, что прикрепленный файл рабочего стола-это тот, который я редактирую, так как редактирование и сохранение вступают в силу немедленно. Он внутри ~/.local/share/applications/ .

Другие файлы рабочего стола в той же папке хорошо сочетаются. Я установил приложение с именем xpad , и другим примером является приложение Chrome. Все хорошо работают с xprop gtk и gtk, кроме этого.

Ответ №1:

Хм….

Я снял скобки вокруг StartupWMClass , и это работает. Так не должно быть [xxx] . Это может быть только xxx .