diff options
Diffstat (limited to 'src/tab.c')
-rw-r--r-- | src/tab.c | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -140,10 +140,11 @@ mq_tab_populate_tab(MqTab *tab) { GtkWidget *box; + tab->title = "New tab"; tab->tab_image = gtk_image_new_from_icon_name("text-x-generic", GTK_ICON_SIZE_BUTTON); - tab->tab_label = gtk_label_new("New tab"); + tab->tab_label = gtk_label_new(NULL); gtk_label_set_ellipsize(GTK_LABEL(tab->tab_label), PANGO_ELLIPSIZE_END); gtk_widget_set_hexpand(tab->tab_label, TRUE); @@ -167,22 +168,21 @@ mq_tab_populate_tab(MqTab *tab) static void update_tab_image(MqTab *tab) { - gtk_image_set_from_surface(GTK_IMAGE(tab->tab_image), - webkit_web_view_get_favicon(tab->web_view)); + gtk_image_set_from_surface(GTK_IMAGE(tab->tab_image), tab->favicon); } static void update_tab_label(MqTab *tab) { gtk_label_set_text(GTK_LABEL(tab->tab_label), - g_strdup_printf("%d. %s", tab->tab_position + 1, - webkit_web_view_get_title(tab->web_view))); + g_strdup_printf("%d. %s", tab->tab_position + 1, tab->title)); } static void favicon_cb(WebKitWebView __attribute__((unused)) *web_view, GParamSpec __attribute__((unused)) *paramspec, MqTab *tab) { + tab->favicon = webkit_web_view_get_favicon(tab->web_view); update_tab_image(tab); } @@ -190,6 +190,7 @@ static void title_cb(WebKitWebView __attribute__((unused)) *web_view, GParamSpec __attribute__((unused)) *paramspec, MqTab *tab) { + tab->title = webkit_web_view_get_title(tab->web_view); update_tab_label(tab); } |