Gnome Tweak Tool редактируется через bash / python?

Есть ли способ доступа к переменным для редактирования через bash (или другие библиотеки с bash или python)? Аналогично тому, как вы можете использовать gconftool-2 в bash для редактирования свойств, которые будут обновлять их после редактирования.

Например, я хотел бы запустить скрипт для отключения «файлового менеджера для управления рабочим столом» терминалом (bash или python) вместо того, чтобы открывать это окно каждый раз.

Я также пытался установить «show_desktop» в false в nautilus в gconf-editor, но это ничего не делает.

Я использую Ubuntu 11.10 и compiz в качестве оконного менеджера в Gnome (2, я верю, или что-то, что идет с 11.10).

2
задан 22 November 2012 в 02:54

1 ответ

Мы собираемся использовать Gio для получения базового ключа (категория, в которой находится значение). Как только мы получим это значение, мы собираемся установить CheckBox для его изменения. Затем мы настраиваем различные сигналы для прослушивания изменений в настройках и CheckBox. Я знаю, что это не настольный компьютер, но вы можете подключить его к BASE_KEY. Кстати, вы не должны пытаться использовать GConf в GNOME 3, потому что он устарел.

from gi.repository import Gio, Gtk

class GSettingsTest(object):
    BASE_KEY = "org.gnome.nautilus.preferences"
    def __init__(self):
        # Make a check button to change the value.
        settings = Gio.Settings(self.BASE_KEY)
        change_check = Gtk.CheckButton("Always Use Browser")
        change_check.set_active (settings.get_boolean("always-use-browser"))
        settings.connect("changed::always-use-browser", self.on_changed, change_check)
        change_check.connect('toggled', self.on_check_clicked, settings)

        window = Gtk.Window(type = Gtk.WindowType.TOPLEVEL)
        window.set_title("Change Nautilus")
        window.set_border_width(24)
        window.connect("delete-event", Gtk.main_quit)
        window.add(change_check)
        window.show_all()
        Gtk.main()

    def on_changed(self, settings, key, change_check):
        change_check.set_active(settings.get_boolean("always-use-browser"))

    def on_check_clicked(self, button, settings):
        settings.set_boolean("always-use-browser", button.get_active())


if __name__ == '__main__':
    app = GSettingsTest()

What the program looks like, with the settings synced.

0
ответ дан 22 November 2012 в 02:54

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

Похожие вопросы: