Переключить режим единства запуска с использованием 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 для непосредственного управления настройками.

Вот пример:

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. Вы должны немного поэкспериментировать с ними, чтобы получить желаемые результаты.

Другие вопросы по тегам