static void gui_window_created(WINDOW_REC *window, void *automatic) { MAIN_WINDOW_REC *parent; int new_parent; g_return_if_fail(window != NULL); new_parent = window_create_override == 0 || window_create_override == 2 || active_win == NULL || WINDOW_GUI(active_win) == NULL; parent = !new_parent ? WINDOW_MAIN(active_win) : mainwindow_create(); if (parent == NULL) { /* not enough space for new window, but we really can't abort creation of the window anymore, so create hidden window instead. */ parent = WINDOW_MAIN(active_win); } window_create_override = -1; if (parent->active == NULL) parent->active = window; window->gui_data = gui_window_init(window, parent); /* set only non-automatic windows sticky so that the windows irssi creates at startup wont get sticky. */ if (automatic == NULL && (parent->sticky_windows || (new_parent && settings_get_bool("autostick_split_windows")))) gui_window_set_sticky(window); signal_emit("gui window created", 1, window); }
void gui_window_clear(WINDOW_REC *window) { MAIN_WINDOW_REC *parent; g_return_if_fail(window != NULL); parent = WINDOW_GUI(window)->parent; gui_window_deinit(WINDOW_GUI(window)); window->gui_data = gui_window_init(window, parent); window->lines = 0; if (is_window_visible(window)) gui_window_redraw(window); }
static void gui_window_created(WINDOW_REC *window) { MAIN_WINDOW_REC *parent; g_return_if_fail(window != NULL); parent = window_create_override != 0 && active_win != NULL && WINDOW_GUI(active_win) != NULL ? WINDOW_GUI(active_win)->parent : mainwindow_create(); if (parent == NULL) { /* not enough space for new window, but we really can't abort creation of the window anymore, so create hidden window instead. */ parent = WINDOW_GUI(active_win)->parent; } window_create_override = -1; if (parent->active == NULL) parent->active = window; window->gui_data = gui_window_init(window, parent); signal_emit("gui window created", 1, window); }