cairo-dock-team team mailing list archive
-
cairo-dock-team team
-
Mailing list archive
-
Message #03822
[Merge] lp:~sqp/cairo-dock-core/main-add-remote-control-option into lp:cairo-dock-core
SQP has proposed merging lp:~sqp/cairo-dock-core/main-add-remote-control-option into lp:cairo-dock-core.
Requested reviews:
Cairo-Dock Team (cairo-dock-team)
For more details, see:
https://code.launchpad.net/~sqp/cairo-dock-core/main-add-remote-control-option/+merge/101247
Add command option -R = --remote-control : Send DBus commands to your running cairo-dock program
more details on the forum page : http://glx-dock.org/bg_topic.php?t=5956#mess_72757
--
https://code.launchpad.net/~sqp/cairo-dock-core/main-add-remote-control-option/+merge/101247
Your team Cairo-Dock Team is requested to review the proposed merge of lp:~sqp/cairo-dock-core/main-add-remote-control-option into lp:cairo-dock-core.
=== modified file 'src/cairo-dock.c'
--- src/cairo-dock.c 2012-04-07 00:48:14 +0000
+++ src/cairo-dock.c 2012-04-09 15:11:20 +0000
@@ -315,7 +315,7 @@
//\___________________ get app's options.
gboolean bSafeMode = FALSE, bMaintenance = FALSE, bNoSticky = FALSE, bNormalHint = FALSE, bCappuccino = FALSE, bPrintVersion = FALSE, bTesting = FALSE, bForceIndirectRendering = FALSE, bForceOpenGL = FALSE, bToggleIndirectRendering = FALSE, bKeepAbove = FALSE, bForceColors = FALSE, bAskBackend = FALSE;
- gchar *cEnvironment = NULL, *cUserDefinedDataDir = NULL, *cVerbosity = 0, *cUserDefinedModuleDir = NULL, *cExcludeModule = NULL, *cThemeServerAdress = NULL;
+ gchar *cEnvironment = NULL, *cUserDefinedDataDir = NULL, *cVerbosity = 0, *cUserDefinedModuleDir = NULL, *cExcludeModule = NULL, *cThemeServerAdress = NULL, *cRemoteControl = NULL;
int iDelay = 0;
GOptionEntry pOptionsTable[] =
{
@@ -365,6 +365,9 @@
{"locked", 'k', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE,
&g_bLocked,
_("Lock the dock so that any modification is impossible for users."), NULL},
+ {"remote-control", 'R', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_STRING,
+ &cRemoteControl,
+ _("Send DBus commands to your running cairo-dock program. (ex: -R Quit)"), NULL},
// below options are probably useless for most of people.
{"keep-above", 'a', G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_NONE,
&bKeepAbove,
@@ -404,6 +407,30 @@
return 0;
}
+ if (cRemoteControl != NULL)
+ {
+ const gchar *cDBusCommand = "dbus-send --session --dest=org.cairodock.CairoDock /org/cairodock/CairoDock org.cairodock.CairoDock.";
+ gchar *cCommand = g_strdup_printf ("%s%s", cDBusCommand, cRemoteControl);
+ gchar *cResult = cairo_dock_launch_command_sync (cCommand);
+ if (cResult != NULL)
+ {
+ g_print ("%s : %s\n", cCommand, cResult);
+ g_free (cResult);
+ }
+ else
+ g_print ("%s\n", cCommand);
+ g_free (cCommand);
+ g_free (cRemoteControl);
+ return 0;
+ }
+
+ if (bCappuccino)
+ {
+ const gchar *cCappuccino = _("Cairo-Dock makes anything, including coffee !");
+ g_print ("%s\n", cCappuccino);
+ return 0;
+ }
+
if (g_bLocked)
cd_warning ("Cairo-Dock will be locked.\n");
@@ -432,13 +459,6 @@
g_free (cEnvironment);
}
- if (bCappuccino)
- {
- const gchar *cCappuccino = _("Cairo-Dock makes anything, including coffee !");
- g_print ("%s\n", cCappuccino);
- return 0;
- }
-
//\___________________ get global config.
gboolean bFirstLaunch = FALSE;
gchar *cRootDataDirPath;