GTK3添加到窗口的任务托盘图标上下文菜单中

时间:2016-08-21 17:25:54

标签: c linux user-interface gtk

我在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版本都有一个任务栏使这个想法变得糟糕?

我可以使用任何替代解决方案吗?

1 个答案:

答案 0 :(得分:1)

Linux上的每个桌面环境在设计目标上都略有不同。 Gnome正在远离托盘图标,更喜欢DBus激活的服务和通知的设计。 Unity / Plasma有AppIndicators,它的功能很像托盘图标,但由于它们是DBus接口,因此略有限制。像XFCE这样的经典环境仍然是X11,因此XEmbed样式托盘(GtkStatusIcon)仍在大量使用。