GTK&x2B;3状态图标更换

GTK&x2B;3状态图标更换,gtk,gtk3,system-tray,trayicon,Gtk,Gtk3,System Tray,Trayicon,我希望我的GTK应用程序在系统托盘中有一个状态图标,我已经使用了一个很好地工作了,但是这已经被弃用了: gtk_status_icon_new自3.14版以来已被弃用,不应在新编写的代码中使用 使用通知 文档上说“使用通知”,但我不知道这实际上意味着什么。我将其理解为“使用桌面通知”,但据我所知,这是一个完全不同的用途。我想要一个始终可见的系统托盘图标,而不是临时弹出通知。尽管如此,我找不到任何其他似乎是“通知”的意思 GtkStatusIcon是否有新的替代品,它在系统托盘中提供一个图标,支持

我希望我的GTK应用程序在系统托盘中有一个状态图标,我已经使用了一个很好地工作了,但是这已经被弃用了:

gtk_status_icon_new自3.14版以来已被弃用,不应在新编写的代码中使用

使用通知

文档上说“使用通知”,但我不知道这实际上意味着什么。我将其理解为“使用桌面通知”,但据我所知,这是一个完全不同的用途。我想要一个始终可见的系统托盘图标,而不是临时弹出通知。尽管如此,我找不到任何其他似乎是“通知”的意思


GtkStatusIcon是否有新的替代品,它在系统托盘中提供一个图标,支持接收鼠标点击/滚动信号和显示弹出菜单?

很遗憾,它们指的是桌面通知。如果仍要使用系统托盘图标,请继续使用GtkStatusIcon;请注意,它可能很快就会被删除。(问题是,有桌面通知的东西比有状态图标的要多,但我确信还有其他原因。GTK+可能不应该处理桌面环境特定的东西,不管怎样……没有什么可以阻止任何人用GtkStatusIcon替换他们自己的,但似乎还没有人这样做。)

这太令人失望了,我希望GTK能努力保持更多的功能。我想我会继续使用GtkStatusIcon,并希望在删除它之前出现一个替代方案。感谢您对其进行清理。它不会在GTK+3中删除,但可能会在GTK+4中删除,因为GTK+4不向后兼容。因此,在GTK+版本出现之前,您不必担心,直到您将代码迁移过来。它可能会在以后的版本中删除;我不知道。至于多功能性,GTK+也不提供通知!你必须去一个单独的库,比如libnotify,它已经从Gtk4中删除了。此外,AppIndicator是桌面上的有效替代品,托盘图标是其设计的一部分(KDE 5,Unity),但它们不是Gnome设计的一部分。拒绝使用状态图标是Gtk做出的最糟糕的决定。通知不是一回事,只是不提供状态图标的功能。认为开发人员主要使用状态图标进行通知的假设是完全荒谬的。他们主要是使用它来创建实用程序,这些实用程序总是希望运行并保持易于访问,但不希望以您的方式运行。通知对于这种功能来说是完全无用的