WM_Class 被忽略并且 运行 应用程序的图标未与 docked/favorite 应用程序图标结合
WM_Class ignored and icons of running app doesn't combine with docked/favorite app icon
在我的 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,我不能只放脚本,它不会启动。
而且,现在,我将此应用程序固定在我的 dash/taskbar 上的收藏夹中,并且在启动时,它不会将 运行 应用程序图标与停靠的应用程序图标组合在一起。
当我 xprop
并单击 运行 应用 window 时,我可以看到这一行:
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 都能很好地工作,除了这个。
嗯....
我删除了 StartupWMClass
周围的括号并且它有效。所以不应该是[xxx]
。只能是xxx
.
在我的 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,我不能只放脚本,它不会启动。
而且,现在,我将此应用程序固定在我的 dash/taskbar 上的收藏夹中,并且在启动时,它不会将 运行 应用程序图标与停靠的应用程序图标组合在一起。
当我 xprop
并单击 运行 应用 window 时,我可以看到这一行:
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 都能很好地工作,除了这个。
嗯....
我删除了 StartupWMClass
周围的括号并且它有效。所以不应该是[xxx]
。只能是xxx
.