ob_main_loop_signal_add(ob_main_loop, SIGHUP, signal_handler, NULL, NULL);
ob_main_loop_signal_add(ob_main_loop, SIGPIPE, signal_handler, NULL, NULL);
ob_main_loop_signal_add(ob_main_loop, SIGCHLD, signal_handler, NULL, NULL);
+ ob_main_loop_signal_add(ob_main_loop, SIGTTIN, signal_handler, NULL,NULL);
+ ob_main_loop_signal_add(ob_main_loop, SIGTTOU, signal_handler, NULL,NULL);
ob_screen = DefaultScreen(ob_display);
keys[OB_KEY_DOWN] = modkeys_sym_to_code(XK_Down);
keys[OB_KEY_TAB] = modkeys_sym_to_code(XK_Tab);
keys[OB_KEY_SPACE] = modkeys_sym_to_code(XK_space);
+ keys[OB_KEY_HOME] = modkeys_sym_to_code(XK_Home);
+ keys[OB_KEY_END] = modkeys_sym_to_code(XK_End);
{
ObParseInst *i;
g_free(keys[OB_KEY_DOWN]);
g_free(keys[OB_KEY_TAB]);
g_free(keys[OB_KEY_SPACE]);
+ g_free(keys[OB_KEY_HOME]);
+ g_free(keys[OB_KEY_END]);
modkeys_shutdown(reconfigure);
} while (reconfigure);
/* reap children */
while (waitpid(-1, NULL, WNOHANG) > 0);
break;
+ case SIGTTIN:
+ case SIGTTOU:
+ ob_debug("Caught signal %d. Ignoring.", signal);
+ break;
default:
ob_debug("Caught signal %d. Exiting.\n", signal);
/* TERM and INT return a 0 code */
void ob_exit_with_error(const gchar *msg)
{
- g_message(msg);
+ g_message("%s", msg);
session_shutdown(TRUE);
exit(EXIT_FAILURE);
}