
理论上,编写基于 Linux 的 GUI 应用程序需要遵循一些标准,这些标准在 Freedesktop 网站上都有清晰的文档。然而,实际上,Freedesktop 更像是一个松散的规范集合,其中一些是第三方规范,不知何故成为了事实上的标准。StatusNotifierItem 规范就是一个例子,它为应用程序提供了一种创建和管理“系统托盘”图标的方法。
此功能非常有用,因为它为用户提供了一种一致的方式,让他们能够快速访问功能并查看应用程序状态。遗憾的是,正如 [Brodie Robertson]在最近的视频中指出的那样,并非所有人都认同这种观点。尽管 Windows 自 95 年以来以及 MacOS/OS X 等操作系统都提供了类似的功能,但 Gnome 和其他 Linux 桌面环境反对这种系统托盘图标(尽管有一个流行的扩展程序),因此在 Reddit 上不可避免地引发了讨论。
尽管 StatusNotifierItem 规范已在 Freedesktop 网站上列出,但它与另一个似乎内部进行但尚未完成的系统托盘提案一起被归类为“草案规范”。与此同时,像 KDE 这样的桌面环境已经集成了该规范的第一方支持( KStatusNotifierItem )。目前,Freedesktop Gitlab 上有一个关于该主题的活跃讨论,探讨 StatusNotifierItem 是否应该被列入列表,或者是否应该成为已批准的规范。
由于规范陷入官僚主义泥潭,多个阵营各自推行着关于“Linux 桌面”应该是什么样子的理念,Linux 标准库十年前夭折实在令人惋惜。毕竟,用户和开发者只希望他们的桌面环境能够毫无意外地运行。