def shortcuts_compiz_set(plugin, key, value):
    current_profile = COMPIZ_SHORTCUTS_SETTINGS.get_string("current-profile")
    if not current_profile:
        return
    tmp_gsettings = deepin_gsettings.new_with_path("org.compiz.core", "/org/compiz/profiles/%s/plugins/core/" % current_profile)
    core = tmp_gsettings.get_strv("active-plugins")
    if plugin not in core:
        core.append(plugin)
        tmp_gsettings.set_strv("active-plugins", core)
    tmp_gsettings = deepin_gsettings.new_with_path("org.compiz.%s" % (plugin), "/org/compiz/profiles/%s/plugins/%s/" % (current_profile, plugin))
    tmp_gsettings.set_string(key, value)
def shortcuts_compiz_set(plugin, key, value):
    current_profile = COMPIZ_SHORTCUTS_SETTINGS.get_string("current-profile")
    if not current_profile:
        return
    tmp_gsettings = deepin_gsettings.new_with_path(
        "org.compiz.core",
        "/org/compiz/profiles/%s/plugins/core/" % current_profile)
    core = tmp_gsettings.get_strv("active-plugins")
    if plugin not in core:
        core.append(plugin)
        tmp_gsettings.set_strv("active-plugins", core)
    tmp_gsettings = deepin_gsettings.new_with_path(
        "org.compiz.%s" % (plugin),
        "/org/compiz/profiles/%s/plugins/%s/" % (current_profile, plugin))
    tmp_gsettings.set_string(key, value)
Beispiel #3
0
    def __init__(self):
        '''
        init docs
        '''
        gtk.VBox.__init__(self)

        self.desktop_settings = deepin_gsettings.new("com.deepin.dde.desktop")
        self.dock_settings = deepin_gsettings.new("com.deepin.dde.dock")
        self.compiz_integrated_settings = deepin_gsettings.new("org.compiz.integrated")
        self.compiz_core_settings = deepin_gsettings.new_with_path(
            "org.compiz.core", "/org/compiz/profiles/deepin/plugins/core/")
        self.compiz_run_command_edge_settings = deepin_gsettings.new_with_path(
            "org.compiz.commands", "/org/compiz/profiles/deepin/plugins/commands/")
        self.compiz_scale_settings = deepin_gsettings.new_with_path("org.compiz.scale",
            "/org/compiz/profiles/deepin/plugins/scale/")
        self.compiz_grid_settings = deepin_gsettings.new_with_path("org.compiz.grid",
            "/org/compiz/profiles/deepin/plugins/grid/")
        
        self.settings = [self.desktop_settings, self.dock_settings, self.compiz_integrated_settings,
                         self.compiz_core_settings, self.compiz_run_command_edge_settings, self.compiz_scale_settings,
                         self.compiz_grid_settings]
        self.__set_settings_changed_handler()

        self.display_style_items = [(_("Default Style"), 0),
                                    (_("Auto Hide"), 1),
                                    (_("Invisible"), 2)]
        self.place_style_items = [(_("Bottom"), 0),
                                  (_("Top"), 1)]
        self.icon_size_items = [(_("Default Icon"), 0),
                                (_("Small"), 1)]
        self.hot_zone_items = [(_("Nothing"), 0),
                               (_("Opening Window"), 1),
                               (_("Launcher"), 2)]
        self.grid_items = [(_("Maximize"), 0), (_("Nothing"), 1)]
        '''
        icon title
        '''
        self.icon_title_align = self.__setup_title_align(
            app_theme.get_pixbuf("desktop/icon.png"),
            _("Desktop Icon"),
            TEXT_WINDOW_TOP_PADDING,
            TEXT_WINDOW_LEFT_PADDING)
        '''
        icon
        '''
        self.icon_align = self.__setup_align(padding_left = 265)
        self.icon_box = gtk.VBox(spacing = WIDGET_SPACING)
        self.computer_checkbutton = self.__setup_checkbutton(_("Computer"))
        self.computer_checkbutton.set_active(self.desktop_settings.get_boolean("show-computer-icon"))
        self.computer_checkbutton.connect("toggled", self.__toggled, "computer");
        self.home_checkbutton = self.__setup_checkbutton(_("Home"))
        self.home_checkbutton.set_active(self.desktop_settings.get_boolean("show-home-icon"))
        self.home_checkbutton.connect("toggled", self.__toggled, "home")
        self.trash_checkbutton = self.__setup_checkbutton(_("Trash"))
        self.trash_checkbutton.set_active(self.desktop_settings.get_boolean("show-trash-icon"))
        self.trash_checkbutton.connect("toggled", self.__toggled, "trash")
        self.dsc_checkbutton = self.__setup_checkbutton(_("Software Center"))
        self.dsc_checkbutton.set_active(self.desktop_settings.get_boolean("show-dsc-icon"))
        self.dsc_checkbutton.connect("toggled", self.__toggled, "dsc")
        self.__widget_pack_start(self.icon_box,
                                 [self.computer_checkbutton,
                                  self.home_checkbutton,
                                  self.trash_checkbutton,
                                  self.dsc_checkbutton,
                                 ])
        self.icon_align.add(self.icon_box)
        '''
        dock title
        '''
        self.dock_title_align = self.__setup_title_align(
            app_theme.get_pixbuf("desktop/dock.png"),
            _("Dock"))
        '''
        display style
        '''
        self.display_style_align = self.__setup_align()
        self.display_style_box = gtk.HBox(spacing = WIDGET_SPACING)
        self.display_style_label = self.__setup_label(_("Display Style"))
        self.display_style_combo = self.__setup_combo(self.display_style_items)
        hide_mode = self.dock_settings.get_string("hide-mode")
        hide_mode_index = 0
        if hide_mode == "default":
            hide_mode_index = 0
        elif hide_mode == "autohide":
            hide_mode_index = 1
        else:
            hide_mode_index = 2
        self.display_style_combo.set_select_index(hide_mode_index)
        self.display_style_combo.connect("item-selected", self.__combo_item_selected, "display_style")
        self.__widget_pack_start(self.display_style_box,
            [self.display_style_label, self.display_style_combo])
        self.display_style_align.add(self.display_style_box)
        '''
        place style
        '''
        self.place_style_align = self.__setup_align()
        self.place_style_box = gtk.HBox(spacing = WIDGET_SPACING)
        self.place_style_label = self.__setup_label(_("Place Style"))
        self.place_style_combo = self.__setup_combo(self.place_style_items)
        self.place_style_combo.set_select_index(0)
        self.place_style_combo.connect("item-selected", self.__combo_item_selected, "place_style")
        self.__widget_pack_start(self.place_style_box,
            [self.place_style_label, self.place_style_combo])
        self.place_style_align.add(self.place_style_box)
        '''
        icon size
        '''
        self.icon_size_align = self.__setup_align()
        self.icon_size_box = gtk.HBox(spacing = WIDGET_SPACING)
        self.icon_size_label = self.__setup_label(_("Icon Size"))
        self.icon_size_combo = self.__setup_combo(self.icon_size_items)
        self.icon_size_combo.set_select_index(0)
        if self.dock_settings.get_boolean("active-mini-mode"):
            self.icon_size_combo.set_select_index(1)
        self.icon_size_combo.connect("item-selected", self.__combo_item_selected, "icon_size")
        self.__widget_pack_start(self.icon_size_box,
            [self.icon_size_label, self.icon_size_combo])
        self.icon_size_align.add(self.icon_size_box)
        '''
        preview
        '''
        self.preview_align = self.__setup_align()
        self.preview_box = gtk.HBox(spacing = WIDGET_SPACING)
        self.preview_label = self.__setup_label(_("Preview"))
        self.__widget_pack_start(self.preview_box, [self.preview_label])
        self.preview_align.add(self.preview_box)
        '''
        hot zone
        '''
        self.hot_title_align = self.__setup_title_align(
            app_theme.get_pixbuf("desktop/hot.png"),
            _("Hot Zone"))
        self.topleft_align = self.__setup_align()
        self.topleft_box = gtk.HBox(spacing = WIDGET_SPACING)
        self.topleft_label = self.__setup_label(_("Top Left"))
        self.topleft_combo = self.__setup_combo(self.hot_zone_items)
        command1 = self.compiz_integrated_settings.get_string("command-11")
        if command1 == "":
            self.topleft_combo.set_select_index(0)
        elif command1 == self.LAUNCHER_CMD:
            self.topleft_combo.set_select_index(2)
        else:
            pass

        scale_edge_str = self.compiz_scale_settings.get_string("initiate-edge")
        if scale_edge_str == "TopLeft":
            self.topleft_combo.set_select_index(1)

        self.topleft_combo.connect("item-selected", self.__combo_item_selected, "topleft")
        self.__widget_pack_start(self.topleft_box, [self.topleft_label, self.topleft_combo])
        self.topleft_align.add(self.topleft_box)
        self.topright_align = self.__setup_align()
        self.topright_box = gtk.HBox(spacing = WIDGET_SPACING)
        self.topright_label = self.__setup_label(_("Bottom Right"))
        self.topright_combo = self.__setup_combo(self.hot_zone_items)
        command2 = self.compiz_integrated_settings.get_string("command-12")
        if command2 == "":
            self.topright_combo.set_select_index(0)
        elif command2 == self.LAUNCHER_CMD:
            self.topright_combo.set_select_index(2)
        else:
            pass

        if scale_edge_str == "BottomRight":
            self.topright_combo.set_select_index(1)

        self.topright_combo.connect("item-selected", self.__combo_item_selected, "topright")
        self.__widget_pack_start(self.topright_box, [self.topright_label, self.topright_combo])
        self.topright_align.add(self.topright_box)
        '''
        top edge
        '''
        self.topedge_align = self.__setup_align()
        self.topedge_box = gtk.HBox(spacing = WIDGET_SPACING)
        self.topedge_label = self.__setup_label(_("Top Edge"))
        self.topedge_combo = self.__setup_combo(self.grid_items)
        top_edge_action = self.compiz_grid_settings.get_int("top-edge-action")
        if top_edge_action == 10:
            self.topedge_combo.set_select_index(0)
        else:
            self.topedge_combo.set_select_index(1)
        self.topedge_combo.connect("item-selected", self.__combo_item_selected, "topedge")
        self.__widget_pack_start(self.topedge_box, [self.topedge_label, self.topedge_combo])
        self.topedge_align.add(self.topedge_box)
        self.leftedge_align = self.__setup_align()
        self.leftedge_box = gtk.HBox(spacing = WIDGET_SPACING)
        self.leftedge_label = self.__setup_label(_("Left Edge"))
        self.leftedge_combo = self.__setup_combo(self.grid_items)
        left_edge_action = self.compiz_grid_settings.get_int("left-edge-action")
        if left_edge_action == 10:
            self.leftedge_combo.set_select_index(0)
        else:
            self.leftedge_combo.set_select_index(1)
        self.leftedge_combo.connect("item-selected", self.__combo_item_selected, "leftedge")
        self.__widget_pack_start(self.leftedge_box, [self.leftedge_label, self.leftedge_combo])
        self.leftedge_align.add(self.leftedge_box)
        self.rightedge_align = self.__setup_align()
        self.rightedge_box = gtk.HBox(spacing = WIDGET_SPACING)
        self.rightedge_label = self.__setup_label(_("Right Edge"))
        self.rightedge_combo = self.__setup_combo(self.grid_items)
        right_edge_action = self.compiz_grid_settings.get_int("right-edge-action")
        if right_edge_action == 10:
            self.rightedge_combo.set_select_index(0)
        else:
            self.rightedge_combo.set_select_index(1)
        self.rightedge_combo.connect("item-selected", self.__combo_item_selected, "rightedge")
        self.__widget_pack_start(self.rightedge_box, [self.rightedge_label, self.rightedge_combo])
        self.rightedge_align.add(self.rightedge_box)
        '''
        greeter
        '''
        self.greeter_title_align = self.__setup_title_align(
            app_theme.get_pixbuf("desktop/lock.png"),
            _("Login && Lock"),
            TEXT_WINDOW_TOP_PADDING,
            TEXT_WINDOW_LEFT_PADDING)
        '''
        greeter
        '''
        self.greeter_align = self.__setup_align()
        self.greeter_box = gtk.HBox()
        self.greeter_label = self.__setup_label(_("Login Page"))
        self.greeter_entry_align = self.__setup_align(
            padding_left = WIDGET_SPACING, padding_top = 3)
        self.greeter_entry = self.__setup_entry()
        self.greeter_entry_align.add(self.greeter_entry)
        self.greeter_button = self.__setup_button(_("Select"))
        self.__widget_pack_start(self.greeter_box,
                                 [self.greeter_label,
                                  self.greeter_entry_align,
                                  self.greeter_button])
        self.greeter_align.add(self.greeter_box)
        '''
        lock
        '''
        self.lock_align = self.__setup_align()
        self.lock_box = gtk.HBox()
        self.lock_label = self.__setup_label(_("Lock Page"))
        self.lock_entry_align = self.__setup_align(
            padding_left = WIDGET_SPACING, padding_top = 3)
        self.lock_entry = self.__setup_entry()
        self.lock_entry_align.add(self.lock_entry)
        self.lock_button = self.__setup_button(_("Select"))
        self.__widget_pack_start(self.lock_box,
                                 [self.lock_label,
                                  self.lock_entry_align,
                                  self.lock_button])
        self.lock_align.add(self.lock_box)
        '''
        this->gtk.VBox pack_start
        '''
        self.__widget_pack_start(self,
                                 [self.icon_title_align,
                                  self.icon_align,
                                  self.dock_title_align,
                                  self.display_style_align,
                                  #self.place_style_align,
                                  #self.icon_size_align,
                                  #self.preview_align,
                                  self.hot_title_align,
                                  self.topleft_align,
                                  self.topright_align,
                                  #self.topedge_align,
                                  #self.leftedge_align,
                                  #self.rightedge_align,
                                  #self.greeter_title_align,
                                  #self.greeter_align,
                                  #self.lock_align
                                 ])

        self.connect("expose-event", self.__expose)

        self.__send_message("status", ("desktop", ""))

        self.__check_active_plugins()