GTK + 3 StatusIcon更换

Tom*_*mha 15 gtk trayicon system-tray gtk3

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

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

使用通知

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

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

and*_*abs 7

不幸的是,他们指的是桌面通知.如果您仍想使用系统托盘图标,请继续使用GtkStatusIcon; 请注意,它可能会很快被删除.(关键是桌面通知比状态图标更多,但我确定还有其他原因.GTK +可能不应该处理桌面环境特定的东西,无论如何...没有什么可以阻止任何人制作一个GtkStatusIcon替换了自己,但似乎没有人这样做过.)

  • 弃用状态图标是 Gtk 做出的最糟糕的决定。通知根本不是一回事,并且根本不提供状态图标的功能。认为开发人员大多使用状态图标进行通知的假设是完全荒谬的。他们主要使用它来创建您始终希望运行并保持易于访问但又不希望妨碍您的实用程序。通知对于这种功能来说是完全没有用的。 (10认同)
  • 它已从Gtk4中删除.此外,AppIndicator是台式机上的有效替代品,托盘图标是其设计的一部分(KDE 5,Unity),但它们不是Gnome设计的一部分. (5认同)
  • 真令人失望,我希望GTK会努力保持更多功能。我想我将继续使用GtkStatusIcon,并希望在删除之前出现一个替代方案。感谢您清理它。 (3认同)
  • Linux Mint 决定实现他们自己的 GtkStatusIcon 分支,名为 [XApPStatusIcon](https://blog.linuxmint.com/?p=3795) (3认同)
  • 它不会在 GTK+ 3 中被删除,但它可能会在 GTK+ 4 中被删除,它不向后兼容。所以你不必担心,直到你迁移你的代码,当那个版本的 GTK+ 出现时。它可能会在以后的版本中删除;我不会知道。至于多功能性,GTK+ 也不提供通知!你必须去一个单独的库,比如 libnotify,才能做到这一点。 (2认同)
  • Gtk+ 3 确实通过“g_application_send_notification” API 支持通知。但是您的应用程序必须使用“GApplication”/“GtkApplication” (2认同)