【问题标题】:Create a little python applet in a linux task bar在 linux 任务栏中创建一个小 python 小程序
【发布时间】:2013-08-19 21:52:51
【问题描述】:

我想在python中为我的linux任务栏创建一个小程序,它只是显示一个可以改变颜色的图标,当我们点击它时,它会显示一个简单的信息菜单。 但我不知道我可以用来执行它的资源。

我从 gtk 开始,特别是我发现 gtk.status_icon_new_from_file 可以显示一个 svg 图标。但我无法通过 svg 动态更改图标的颜色。我必须修改文件中的颜色,然后重新加载它。有没有办法直接给出图标的数据而不是它的名称?

此外,我不知道从哪里继续编写我的菜单。有什么想法吗?

最后,是否可以在图标上方添加一些文字?

编辑:我想要关于通用任务栏的解决方案,因为我在archlinux下使用tint2(带有openbox)。所以我需要与 freedesktop 推荐兼容的解决方案,而不是特定于 Gnome 或 Ubuntu。也许是 xfce4 桌面的解决方案。

【问题讨论】:

  • 我们首先需要知道您正在运行哪个发行版和桌面。没有像“linux任务栏”这样的东西,因为有各种各样的软件提供这个功能。您正在尝试使用 GTK,您的桌面环境是 GNOME 2 吗?侏儒 3?吗?团结?
  • 我并没有真正使用桌面环境,而是使用 tint2 作为任务栏的 openbox。
  • 虽然没有“Linux 任务栏”之类的东西,但现代桌面环境遵循的协议实现了一种系统托盘形式。最著名的是specified by freedesktop.org,它被 Skype 等应用程序用于实现系统托盘功能,而无需为 Gnome 2/3、KDE、xfce、Unity 等提供单独的代码。OP 需要找到一个库实现了 freedesktop 系统托盘规范并具有 Python 绑定。

标签: python linux gtk pygtk statusbar


【解决方案1】:

状态图标是最通用的解决方案,但很旧。

Appindicator 是为 ubuntu 设计的,可以轻松地将图标和菜单保留在任务栏中。

有几种语言的例子 http://developer.ubuntu.com/resources/technologies/application-indicators/

您的桌面外壳是什么?每个 shell 都有更好的方法将小程序保留在任务栏上。其中一些解决方案与其他 shell 兼容(appindicator 支持 KDE、Gnome2、Gnome Shell 等)。

【讨论】:

  • AppIndicator 是 Ubuntu 特有的,他甚至没有告诉你他运行的是哪个发行版/桌面。
  • 我不是在Ubuntu下,而是在archlinux下。所以我不能用那个。我看到这个框架会很有趣,但是我不能用它。
  • 如果没有 appindicator 支持,它会退回到托盘图标。
  • 那他最好直接为 GtkStatusIcon API 编写代码,因为他无论如何都无法在 Ubuntu 上进行测试。
猜你喜欢
  • 2010-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-17
  • 1970-01-01
  • 2017-09-03
  • 2010-12-08
  • 1970-01-01
相关资源
最近更新 更多