使用 Python 切换统一启动器模式?

使用 Python 切换统一启动器模式?

我正在尝试制作一个应用程序指示器,用于切换启动器模式:正常或自动隐藏。现在我可以切换 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。您应该尝试一下这些以获得所需的结果。

相关内容