settings: Fetch current layout as the first item
This commit is contained in:
@ -207,22 +207,8 @@ static void
|
|||||||
settings_get_layout(GSettings *settings, char **type, char **layout)
|
settings_get_layout(GSettings *settings, char **type, char **layout)
|
||||||
{
|
{
|
||||||
GVariant *inputs = g_settings_get_value(settings, "sources");
|
GVariant *inputs = g_settings_get_value(settings, "sources");
|
||||||
guint32 index;
|
// current layout is always first
|
||||||
g_settings_get(settings, "current", "u", &index);
|
g_variant_get_child(inputs, 0, "(ss)", type, layout);
|
||||||
|
|
||||||
GVariantIter *iter;
|
|
||||||
g_variant_get(inputs, "a(ss)", &iter);
|
|
||||||
|
|
||||||
for (unsigned i = 0;
|
|
||||||
g_variant_iter_loop(iter, "(ss)", type, layout);
|
|
||||||
i++) {
|
|
||||||
if (i == index) {
|
|
||||||
//printf("Found layout %s %s\n", *type, *layout);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
g_variant_iter_free(iter);
|
|
||||||
g_variant_unref(inputs);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
Reference in New Issue
Block a user