我使用内部工具包(没有 Gnome 或 KDE)用 C++ 编写了一个应用程序。当我在 Ubuntu (18.04) 上运行它并按 alt-tab 时,我可以看到我为应用程序设置的图标,但图标下方没有图标名称。见附图:终端有一个终端图标和下面的“终端”一词,但我自己的应用程序只有“未知”这个词。
大概我需要设置许多可能的 X11 窗口属性之一,但我不知道是哪一个。 xprops 与终端窗口一起使用时,不会显示任何具有“终端”值的属性。我尝试将属性 _NET_WM_ICON_NAME (可能的选择)设置为我选择的名称,但这没有帮助。
如何将“未知”一词更改为我选择的内容?再说一遍——这个应用程序使用了一个内部工具包,它既不是 Gnome 也不是 KDE。
最佳答案
我有同样的问题。使用 XSetClassHint 解决了这个问题:
XClassHint *class_hint = XAllocClassHint();
if (class_hint)
{
class_hint->res_name = class_hint->res_class = (char *)application_name
XSetClassHint(display, window, class_hint);
XFree(class_hint);
}
关于ubuntu - 如何在 X11 (Ubuntu) 中设置图标名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50123173/