static void child_exited(GtkWidget *terminal, gpointer window) { _vte_debug_print(VTE_DEBUG_MISC, "Child exited with status %x\n", vte_terminal_get_child_exit_status (VTE_TERMINAL (terminal))); destroy_and_quit(VTE_TERMINAL (terminal), GTK_WIDGET (window)); }
static void child_exited_cb (VteTerminal *terminal, TerminalReceiver *receiver) { int exit_code; exit_code = vte_terminal_get_child_exit_status (terminal);; terminal_receiver_emit_child_exited (receiver, exit_code); }
static void term_eof_or_child_exited(VteTerminal *term, gpointer user_data) { if(vte_terminal_get_child_exit_status(term) != 0) { /* restart the terminal if it crashed */ vte_terminal_reset(VTE_TERMINAL(term), FALSE, TRUE); term_fork_command(VTE_TERMINAL(term), conf_get_shell()); } else { /* else close the tab */ mainwindow_close_tab(GTK_WIDGET(term)); } // gtk_widget_hide(GTK_WIDGET(mainwindow)); }
static VALUE rg_child_exit_status(VALUE self) { return INT2NUM(vte_terminal_get_child_exit_status(_SELF(self))); }
static VALUE term_get_child_exit_status(VALUE self) { return INT2NUM(vte_terminal_get_child_exit_status(RVAL2TERM(self))); }