void termit_on_switch_page(GtkNotebook *notebook, gpointer arg, guint page, gpointer user_data) { TERMIT_GET_TAB_BY_INDEX(pTab, page); TRACE("%s page=%d vte=%p", __FUNCTION__, page, pTab->vte); // it seems that set_active eventually calls toggle callback /*((GtkCheckMenuItem*)termit.mi_show_scrollbar)->active = pTab->scrollbar_is_shown;*/ gpointer pHandlerId = g_object_get_data(G_OBJECT(termit.mi_show_scrollbar), "handlerId"); if (pHandlerId) { g_signal_handler_disconnect(G_OBJECT(termit.mi_show_scrollbar), *((gulong*)pHandlerId)); } gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(termit.mi_show_scrollbar), pTab->scrollbar_is_shown); termit_set_show_scrollbar_signal(termit.mi_show_scrollbar, pHandlerId); termit_set_statusbar_message(page); if (configs.allow_changing_title) termit_set_window_title(pTab->title); }
void termit_tab_set_title(struct TermitTab* pTab, const gchar* title) { gchar* tmp_title = g_strdup(title); if (configs.get_tab_title_callback) { gchar* lua_title = termit_lua_getTitleCallback(configs.get_tab_title_callback, title); if (!lua_title) { ERROR("termit_lua_getTitleCallback(%s) failed", title); g_free(tmp_title); return; } g_free(tmp_title); tmp_title = lua_title; } if (pTab->title) g_free(pTab->title); pTab->title = tmp_title; gtk_label_set_text(GTK_LABEL(pTab->tab_name), pTab->title); termit_set_window_title(title); }