我正在尝试制作一个应用程序指示器,用于切换启动器模式:正常或自动隐藏。现在我可以切换 gconf 键
/应用程序/compiz-1/插件/unityshell/screen0/选项/launcher_hide_mode
即 0 或 1。但是,启动器实际上并没有改变其模式。我怎样才能让 Unity 识别出 gconf 键值已发生改变?
答案1
随着 Gnome 3 的加入,从 Ubuntu 11.10 开始,gconf 机制已被弃用,尽管一些应用程序仍然遵守它,但 Unity 不是其中之一。
Gconf 已被 gsettings 取代,因此要执行您想要的操作,您需要:
- 弄清楚您需要设置哪个路径和键,以及需要将其设置为哪个值。
这可以通过命令完成gsettings
。要查看全部键使用gsettings list-recursively
。在本例中,我使用了gsettings list-recursively |grep hide
并想出了模式com.canonical.Unity2d.Launcher
,键是hide-mode
。
您可以通过以下方式测试
gsettings set com.canonical.Unity2d.Launcher hide-mode 1
将1改为0,看看该键产生的不同效果。
- 在你的 Python 代码中,使用 Gio.settings 直接操作 gsettings。
以下是一个例子:
from gi.repository import Gio
launcher_settings = Gio.Settings.new("com.canonical.Unity2d.Launcher")
launcher_settings.set_int("hide-mode", 1)
我不确定您是否需要使用 set_int 或 set_boolean。您应该尝试一下这些以获得所需的结果。