【发布时间】: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