diff options
author | Ray Strode <rstrode@redhat.com> | 2014-03-11 11:27:53 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2014-03-12 02:33:38 -0400 |
commit | 05eefab35135dfbc5525a6cd5c279f943a962beb (patch) | |
tree | 2ac6586ee520fb35ec4506c2d5a40c95c5e199e4 | |
parent | 9ef6561537b014bfe84c4c33b7ed2e9746dd576e (diff) | |
download | nautilus-05eefab35135dfbc5525a6cd5c279f943a962beb.tar.gz |
application: add force-desktop action
This commit adds a "force-desktop" action to explicitly force the
desktop in the case nautilus is already running when
nautilus --force-desktop
is executed.
https://bugzilla.gnome.org/show_bug.cgi?id=726114
-rw-r--r-- | src/nautilus-application.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/nautilus-application.c b/src/nautilus-application.c index 5c8dca0b3..27e8528cf 100644 --- a/src/nautilus-application.c +++ b/src/nautilus-application.c @@ -86,6 +86,7 @@ static GList *nautilus_application_desktop_windows; static gboolean save_of_accel_map_requested = FALSE; static void desktop_changed_callback (gpointer user_data); +static void nautilus_application_open_desktop (NautilusApplication *application); G_DEFINE_TYPE (NautilusApplication, nautilus_application, GTK_TYPE_APPLICATION); @@ -920,6 +921,16 @@ action_help (GSimpleAction *action, } static void +action_force_desktop (GSimpleAction *action, + GVariant *parameter, + gpointer user_data) +{ + NautilusApplication *self = user_data; + + nautilus_application_open_desktop (self); +} + +static void action_kill (GSimpleAction *action, GVariant *parameter, gpointer user_data) @@ -1004,6 +1015,7 @@ static GActionEntry app_entries[] = { { "help", action_help, NULL, NULL, NULL }, { "quit", action_quit, NULL, NULL, NULL }, { "kill", action_kill, NULL, NULL, NULL }, + { "force-desktop", action_force_desktop, NULL, NULL, NULL }, }; static void @@ -1295,6 +1307,13 @@ nautilus_application_local_command_line (GApplication *application, goto out; } + if (self->priv->force_desktop) { + DEBUG ("Forcing desktop, as requested"); + g_action_group_activate_action (G_ACTION_GROUP (application), + "force-desktop", NULL); + /* fall through */ + } + GFile **files; gint idx, len; |