Ejemplo n.º 1
0
void
meta_prefs_change_workspace_name (int         num,
                                  const char *name)
{
    GVariantBuilder builder;
    int n_workspace_names, i;

    g_return_if_fail (num >= 0);

    meta_topic (META_DEBUG_PREFS,
                "Changing name of workspace %d to %s\n",
                num, name ? name : "none");

    /* NULL and empty string both mean "default" here,
     * and we also need to match the name against its default value
     * to avoid saving it literally. */
    if (g_strcmp0 (name, meta_prefs_get_workspace_name (num)) == 0)
    {
        if (!name || !*name)
            meta_topic (META_DEBUG_PREFS,
                        "Workspace %d already uses default name\n", num);
        else
            meta_topic (META_DEBUG_PREFS,
                        "Workspace %d already has name %s\n", num, name);
        return;
    }

    g_variant_builder_init (&builder, G_VARIANT_TYPE_STRING_ARRAY);
    n_workspace_names = workspace_names ? g_strv_length (workspace_names) : 0;

    for (i = 0; i < MAX (num + 1, n_workspace_names); i++)
    {
        const char *value;

        if (i == num)
            value = name ? name : "";
        else if (i < n_workspace_names)
            value = workspace_names[i] ? workspace_names[i] : "";
        else
            value = "";

        g_variant_builder_add (&builder, "s", value);
    }
    g_settings_set_value (SETTINGS (SCHEMA_GENERAL), KEY_WORKSPACE_NAMES,
                          g_variant_builder_end (&builder));
}
Ejemplo n.º 2
0
const char*
meta_workspace_get_name (MetaWorkspace *workspace)
{
  return meta_prefs_get_workspace_name (meta_workspace_index (workspace));
}