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