diff options
| -rw-r--r-- | svte.c | 20 | 
1 files changed, 12 insertions, 8 deletions
| @@ -51,6 +51,7 @@ static void tab_new();  static void configure_window();  static void tab_focus(GtkNotebook *notebook, GtkNotebookPage *page,                        guint page_num, gpointer user_data); +static void set_window_title(guint page_num, term *t);  static GQuark term_data_id = 0; @@ -241,10 +242,7 @@ static void tab_title(GtkWidget *widget, term *t) {  } -static void tab_focus(GtkNotebook *notebook, GtkNotebookPage *page, -                      guint page_num, gpointer user_data) { -  struct term *t; -  t = get_page_term(NULL, page_num); +static void set_window_title(guint page_num, term *t){    const char *title = vte_terminal_get_window_title(VTE_TERMINAL(t->vte));    if (title == NULL) {      title = "svte"; @@ -253,6 +251,14 @@ static void tab_focus(GtkNotebook *notebook, GtkNotebookPage *page,  } +static void tab_focus(GtkNotebook *notebook, GtkNotebookPage *page, +                      guint page_num, gpointer user_data) { +  struct term *t; +  t = get_page_term(NULL, page_num); +  set_window_title(page_num, t); +} + +  static void tab_new() {    term *t;    int *tmp; @@ -261,7 +267,7 @@ static void tab_new() {    char **args = 0;    const gchar *shell = g_getenv("SHELL");    if (!shell) { -    shell = "/bin/sh"; +    shell = "sh";    }    g_shell_parse_argv(shell, 0, &args, 0); @@ -320,9 +326,7 @@ static void tab_new() {    vte_terminal_match_set_cursor_type(VTE_TERMINAL(t->vte), *tmp,                                       GDK_HAND2);    g_free(tmp); - -  gtk_window_set_title(GTK_WINDOW(svte.win), -                       vte_terminal_get_window_title(VTE_TERMINAL(t->vte))); +  set_window_title(index, t);    gtk_widget_show_all(svte.notebook);    gtk_notebook_set_current_page(GTK_NOTEBOOK(svte.notebook), index);    gtk_widget_grab_focus(t->vte); | 
