+ if (reconfigure_and_exit) {
+ guint32 pid;
+ gboolean ret;
+
+ prop_startup(); /* get atoms values for the display */
+ ret = PROP_GET32(RootWindow(ob_display, DefaultScreen(ob_display)),
+ openbox_pid, cardinal, &pid);
+ XCloseDisplay(ob_display);
+ if (!ret) {
+ g_print("Openbox does not appear to be running on this "
+ "display.\n");
+ } else {
+ g_print("Telling the Openbox process # %u to reconfigure.\n", pid);
+ ret = (kill(pid, SIGUSR2) == 0);
+ if (!ret)
+ g_print("Error: %s.\n", strerror(errno));
+ }
+ exit(ret ? EXIT_SUCCESS : EXIT_FAILURE);
+ }
+