use ob_reconfigure/restart directly instead of actions and save a variable

This commit is contained in:
Mikael Magnusson 2007-03-04 20:32:47 +00:00
parent 2f87655790
commit 7fdfb9dbf6
2 changed files with 10 additions and 13 deletions

View file

@ -598,9 +598,9 @@ static void event_handle_root(XEvent *e)
screen_show_desktop(e->xclient.data.l[0] != 0); screen_show_desktop(e->xclient.data.l[0] != 0);
} else if (msgtype == prop_atoms.ob_control) { } else if (msgtype == prop_atoms.ob_control) {
if ((Atom)e->xclient.data.l[0] == 1) if ((Atom)e->xclient.data.l[0] == 1)
action_run_string("reconfigure", NULL); ob_reconfigure();
else if ((Atom)e->xclient.data.l[0] == 2) else if ((Atom)e->xclient.data.l[0] == 2)
action_run_string("restart", NULL); ob_restart();
} }
break; break;
case PropertyNotify: case PropertyNotify:

View file

@ -86,8 +86,7 @@ static gchar *restart_path = NULL;
static Cursor cursors[OB_NUM_CURSORS]; static Cursor cursors[OB_NUM_CURSORS];
static KeyCode keys[OB_NUM_KEYS]; static KeyCode keys[OB_NUM_KEYS];
static gint exitcode = 0; static gint exitcode = 0;
static gboolean message_and_exit = FALSE; static guint remote_control = 0;
static guint message = 0;
static gboolean being_replaced = FALSE; static gboolean being_replaced = FALSE;
static void signal_handler(gint signal, gpointer data); static void signal_handler(gint signal, gpointer data);
@ -117,7 +116,7 @@ gint main(gint argc, gchar **argv)
/* parse out command line args */ /* parse out command line args */
parse_args(argc, argv); parse_args(argc, argv);
if (!message_and_exit) { if (!remote_control) {
parse_paths_startup(); parse_paths_startup();
session_startup(argc, argv); session_startup(argc, argv);
@ -129,14 +128,14 @@ gint main(gint argc, gchar **argv)
if (fcntl(ConnectionNumber(ob_display), F_SETFD, 1) == -1) if (fcntl(ConnectionNumber(ob_display), F_SETFD, 1) == -1)
ob_exit_with_error("Failed to set display as close-on-exec."); ob_exit_with_error("Failed to set display as close-on-exec.");
if (message_and_exit) { if (remote_control) {
prop_startup(); prop_startup();
/* Send client message telling the OB process to: /* Send client message telling the OB process to:
* message = 1 -> reconfigure * remote_control = 1 -> reconfigure
* message = 2 -> restart */ * remote_control = 2 -> restart */
PROP_MSG(RootWindow(ob_display, ob_screen), PROP_MSG(RootWindow(ob_display, ob_screen),
ob_control, message, 0, 0, 0); ob_control, remote_control, 0, 0, 0);
XCloseDisplay(ob_display); XCloseDisplay(ob_display);
exit(0); exit(0);
} }
@ -434,11 +433,9 @@ static void parse_args(gint argc, gchar **argv)
} else if (!strcmp(argv[i], "--debug")) { } else if (!strcmp(argv[i], "--debug")) {
ob_debug_show_output(TRUE); ob_debug_show_output(TRUE);
} else if (!strcmp(argv[i], "--reconfigure")) { } else if (!strcmp(argv[i], "--reconfigure")) {
message_and_exit = TRUE; remote_control = 1;
message = 1;
} else if (!strcmp(argv[i], "--restart")) { } else if (!strcmp(argv[i], "--restart")) {
message_and_exit = TRUE; remote_control = 2;
message = 2;
} }
} }
} }