desktop_interface: sets values in the org.gnome.desktop.interface schema

def desktop_interface(name,
                      user=None,
                      automatic_mnemonics=None,
                      buttons_have_icons=None,
                      can_change_accels=None,
                      clock_format=None,
                      clock_show_date=None,
                      clock_show_seconds=None,
                      cursor_blink=None,
                      cursor_blink_time=None,
                      cursor_blink_timeout=None,
                      cursor_size=None,
                      cursor_theme=None,
                      document_font_name=None,
                      enable_animations=None,
                      font_name=None,
                      gtk_color_palette=None,
                      gtk_color_scheme=None,
                      gtk_im_module=None,
                      gtk_im_preedit_style=None,
                      gtk_im_status_style=None,
                      gtk_key_theme=None,
                      gtk_theme=None,
                      gtk_timeout_initial=None,
                      gtk_timeout_repeat=None,
                      icon_theme=None,
                      menubar_accel=None,
                      menubar_detachable=None,
                      menus_have_icons=None,
                      menus_have_tearoff=None,
                      monospace_font_name=None,
                      show_input_method_menu=None,
                      show_unicode_menu=None,
                      text_scaling_factor=None,
                      toolbar_detachable=None,
                      toolbar_icons_size=None,
                      toolbar_style=None,
                      toolkit_accessibility=None,
                      **kwargs):
    '''
    desktop_interface: sets values in the org.gnome.desktop.interface schema
    '''
    gnome_kwargs = {
        'user': user,
        'schema': 'org.gnome.desktop.interface'
    }

    preferences = ['automatic_mnemonics', 'buttons_have_icons',
            'can_change_accels', 'clock_format', 'clock_show_date',
            'clock_show_seconds', 'cursor_blink', 'cursor_blink_time',
            'cursor_blink_timeout', 'cursor_size', 'cursor_theme',
            'document_font_name', 'enable_animations', 'font_name',
            'gtk_color_palette', 'gtk_color_scheme', 'gtk_im_module',
            'gtk_im_preedit_style', 'gtk_im_status_style', 'gtk_key_theme',
            'gtk_theme', 'gtk_timeout_initial', 'gtk_timeout_repeat',
            'icon_theme', 'menubar_accel', 'menubar_detachable',
            'menus_have_icons', 'menus_have_tearoff', 'monospace_font_name',
            'show_input_method_menu', 'show_unicode_menu',
            'text_scaling_factor', 'toolbar_detachable', 'toolbar_icons_size',
            'toolbar_style', 'toolkit_accessibility']

    preferences_hash = {}
    for pref in preferences:
        if pref in locals() and locals()[pref] is not None:
            key = re.sub('_', '-', pref)
            preferences_hash[key] = locals()[pref]

    return _do(name, gnome_kwargs, preferences_hash)