Я пытаюсь создать индикатор приложения, который переключает режим запуска: либо обычный, либо автоматически скрываемый. Прямо сейчас я могу переключить ключ gconf
/ apps / compiz-1 / plugins / unityshell / screen0 / options / launcher_hide_mode
, который равен 0 или 1. Однако программа запуска не на самом деле изменить свой режим. Как я могу заставить Unity распознать, что значение ключа gconf изменилось?
С включением 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, чтобы увидеть различные эффекты, которые имеет ключ.
Вот пример:
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. Вы должны немного поэкспериментировать с ними, чтобы получить желаемые результаты.