我在 C 中工作,并创建一个窗口和一个菜单:
window = gtk_application_window_new (app);
[ ... ]
menu = gtk_menu_new();
我目前将菜单连接到窗口中的按钮,如下所示:
g_signal_connect (widget, "clicked", G_CALLBACK (open_menu), NULL);
然而,菜单确实是它唯一需要的界面。在 Windows 上,我有一个带有上下文菜单的托盘图标。
我不想使用 GtkStatusIcon,因为它已被弃用,而且会被滥用。
我想在 Linux 上做类似的事情,但我需要能够获得窗口的任务托盘图标上下文菜单。
这可能吗?还是并非所有 Linux 版本都有任务栏这一事实使这成为一个坏主意?
我可以使用任何替代解决方案吗?
最佳答案
在这方面,Linux 上的每个桌面环境的设计目标都略有不同。 Gnome 正在远离托盘图标,而更喜欢 DBus 激活服务和通知的设计。 Unity/Plasma 具有 AppIndicators,其功能主要类似于托盘图标,但由于它们是 DBus 接口(interface),因此受到的限制略多。像 XFCE 这样的经典环境仍然只是 X11,所以 XEmbed 风格的托盘 (GtkStatusIcon) 仍然在大量使用。
关于c - GTK3 添加到窗口的任务托盘图标上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39066913/