all repos — openbox @ f85a85541790a6095eb583ddb8684eece8dcc0c6

openbox fork - make it a bit more like ryudo

make ob_exit() take an error code. don't exit with 0 for signals other than TERM and INT.
Dana Jansens danakj@orodu.net
commit

f85a85541790a6095eb583ddb8684eece8dcc0c6

parent

275c44c386e937ed66cd2021b880a3d7d4de4933

5 files changed, 12 insertions(+), 9 deletions(-)

jump to
M openbox/action.copenbox/action.c

@@ -1167,7 +1167,7 @@ }

void action_exit(union ActionData *data) { - ob_exit(); + ob_exit(0); } void action_showmenu(union ActionData *data)
M openbox/event.copenbox/event.c

@@ -554,7 +554,7 @@

switch(e->type) { case SelectionClear: ob_debug("Another WM has requested to replace us. Exiting.\n"); - ob_exit(); + ob_exit(0); break; case ClientMessage:
M openbox/openbox.copenbox/openbox.c

@@ -61,6 +61,7 @@ static gboolean restart;

static char *restart_path; static Cursor cursors[OB_NUM_CURSORS]; static KeyCode keys[OB_NUM_KEYS]; +static gint exitcode = 0; static void signal_handler(int signal, gpointer data); static void parse_args(int argc, char **argv);

@@ -297,7 +298,7 @@ execvp(argv[0], argv); /* try how we were run */

execlp(argv[0], g_path_get_basename(argv[0])); /* last resort */ } - return 0; + return exitcode; } static void signal_handler(int signal, gpointer data)

@@ -310,7 +311,8 @@ fprintf(stderr, "Caught signal %d. Reconfiguring.\n", signal);

ob_reconfigure(); } else { fprintf(stderr, "Caught signal %d. Exiting.\n", signal); - ob_exit(); + /* TERM and INT return a 0 code */ + ob_exit(!(signal == SIGTERM || signal == SIGINT)); } }

@@ -386,17 +388,18 @@

void ob_restart() { restart = TRUE; - ob_exit(); + ob_exit(0); } void ob_reconfigure() { reconfigure = TRUE; - ob_exit(); + ob_exit(0); } -void ob_exit() +void ob_exit(gint code) { + exitcode = code; ob_main_loop_exit(ob_main_loop); }
M openbox/openbox.hopenbox/openbox.h

@@ -31,7 +31,7 @@ ObState ob_state();

void ob_restart_other(const gchar *path); void ob_restart(); -void ob_exit(); +void ob_exit(gint code); void ob_reconfigure();
M openbox/session.copenbox/session.c

@@ -281,7 +281,7 @@ }

static void sm_die(SmcConn conn, SmPointer data) { - ob_exit(); + ob_exit(0); } static void sm_save_complete(SmcConn conn, SmPointer data)