+ ob_debug_enable(OB_DEBUG_SM, TRUE);
+ ob_debug_enable(OB_DEBUG_APP_BUGS, TRUE);
+ } else if (!strcmp(argv[i], "--debug-focus")) {
+ ob_debug_show_output(TRUE);
+ ob_debug_enable(OB_DEBUG_SM, TRUE);
+ ob_debug_enable(OB_DEBUG_APP_BUGS, TRUE);
+ ob_debug_enable(OB_DEBUG_FOCUS, TRUE);
+ } else if (!strcmp(argv[i], "--reconfigure")) {
+ remote_control = 1;
+/* don't make this do anything if it's not in --help ..
+ } else if (!strcmp(argv[i], "--restart")) {
+ remote_control = 2;
+*/
+ } else if (!strcmp(argv[i], "--config")) {
+ if (i == *argc - 1) /* no args left */
+ g_printerr(_("--config requires an argument\n"));
+ else {
+ config_type = g_strdup(argv[i+1]);
+ ++i;
+ }
+ }
+#ifdef USE_SM
+ else if (!strcmp(argv[i], "--sm-save-file")) {
+ if (i == *argc - 1) /* no args left */
+ g_printerr(_("--sm-save-file requires an argument\n"));
+ else {
+ ob_sm_save_file = g_strdup(argv[i+1]);
+ remove_args(argc, argv, i, 2);
+ --i; /* this arg was removed so go back */
+ }
+ } else if (!strcmp(argv[i], "--sm-client-id")) {
+ if (i == *argc - 1) /* no args left */
+ g_printerr(_("--sm-client-id requires an argument\n"));
+ else {
+ ob_sm_id = g_strdup(argv[i+1]);
+ remove_args(argc, argv, i, 2);
+ --i; /* this arg was removed so go back */
+ }
+ } else if (!strcmp(argv[i], "--sm-disable")) {
+ ob_sm_use = FALSE;
+ }
+#endif
+ else {
+ /* this is a memleak.. oh well.. heh */
+ gchar *err = g_strdup_printf
+ ("Invalid command line argument '%s'\n", argv[i]);
+ ob_exit_with_error(err);