can restart now
Dana Jansens danakj@orodu.net
1 files changed,
14 insertions(+),
0 deletions(-)
jump to
M
openbox/openbox.c
→
openbox/openbox.c
@@ -35,6 +35,9 @@ #endif
#ifdef HAVE_LOCALE_H # include <locale.h> #endif +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif #include <X11/cursorfont.h>@@ -174,9 +177,20 @@ XCloseDisplay(ob_display);
if (ob_restart) { if (ob_restart_path != NULL) { + int argcp; + char **argvp; + GError *err; + /* run other shit */ + if (g_shell_parse_argv(ob_restart_path, &argcp, &argvp, &err)) + execvp(argvp[0], argvp); + + g_strfreev(argvp); } + /* re-run me */ + execvp(argv[0], argv); /* try how we were run */ + execlp("ob3", "ob3", NULL); /* try this as a last resort */ } return 0;