Turn Control Center in a DBus-activable service and export a
'launch-panel' GAction which accepts a tuple containing the id of the
desired panel and its parameters as a GVariant array.
The snippet below show how the custom shortcuts section of the keyboard
panel can be invoked by a external programs through DBus:
GVariantBuilder *flags = g_variant_builder_new (G_VARIANT_TYPE_VARDICT);
GVariantBuilder *params = g_variant_builder_new (G_VARIANT_TYPE ("av"));
g_variant_builder_add (params, "v", g_variant_builder_end (flags));
g_variant_builder_add (params, "v", g_variant_new_string ("shortcuts"));
g_variant_builder_add (params, "v", g_variant_new_string ("custom"));
GVariant *v = g_variant_new ("(s@av)", "keyboard", g_variant_builder_end (params));
GApplication *gnomecc = g_application_new (id, G_APPLICATION_IS_LAUNCHER);
if (!g_application_register (gnomecc, NULL, &error))
g_error ("Failed to register launcher for %s: %s", id, error->message);
g_action_group_activate_action (G_ACTION_GROUP (gnomecc), "launch-panel", v);
https://bugzilla.gnome.org/show_bug.cgi?id=696054
Add a class method to CcPanel to get a GOptionGroup which will be added
to the main commandline parser. This gives panels the chance to have
commandline "--flags" in addition to the already available parameters.
This changes changes the way parameters are passed to panels: the first
entry in the GVariant array is always the a{sv} dictionary of
commandline flags, followed by the remaining free-form arguments.
https://bugzilla.gnome.org/show_bug.cgi?id=696054
By using a GVariant of type "av" we can potentially pass more structured
data to panels, which will become relevant with the ability to invoke
them by GAction-based DBus-activation introduced in the following patch.
https://bugzilla.gnome.org/show_bug.cgi?id=696054
Rather than using the search entry text as a single term when filtering
panels, split the text into multiple terms and require result to match all
of them, which is consistent with the search provider and the encouraged
search pattern for GNOME applications.
https://bugzilla.gnome.org/show_bug.cgi?id=694960
The follow-state property used to have no effect, because we used pixbufs
directly. It started to work when we switched to GIcons, but it looks
bad because the prelighted icons are too contrasted, so revert to the
previous behaviour.
https://bugzilla.gnome.org/show_bug.cgi?id=694219
Keep history of the visited panels, when navigating between
them through links, or activated through the shell's menu items,
and go back to the overview when the history is empty.
https://bugzilla.gnome.org/show_bug.cgi?id=643322
So that we can more easily add GdHeaderBar in the following
patches.
Much of the advantage of using gtkbuilder was lost anyway because
we couldn't really use it from glade without corrupting the file.
https://bugzilla.gnome.org/show_bug.cgi?id=692174
This promotes better encapsulation and allows us to move
application logic out of main() and rename the confusingly
named control-center.c to main.c
https://bugzilla.gnome.org/show_bug.cgi?id=692174
Replace the gnome-shell builtin settings search, which relied on removed
menu files, with one that uses the remote search infrastructure and
CcSearchModel, and features the ability to continue searching within the
control center application.
https://bugzilla.gnome.org/show_bug.cgi?id=690577
Only force G_MESSAGES_DEBUG=all on --verbose, and follow the usual
logging behaviour otherwise.
This fixes specifying log domains in G_MESSAGES_DEBUG and also
G_MESSAGES_DEBUG=all without setting --verbose.
https://bugzilla.gnome.org/show_bug.cgi?id=693732