diff options
Add webcontext hex id to tab label
1 files changed, 15 insertions, 5 deletions
| -rw-r--r-- | badwolf.c | 20 |
@@ -12,13 +12,14 @@ #include <glib/gi18n.h> /* _() and other internationalization/localization helpers */ #include <libsoup/soup.h> /* soup* */ #include <locale.h> /* LC_* */ -#include <stdio.h> /* perror(), fprintf() */ +#include <stdio.h> /* perror(), fprintf(), snprintf() */ #include <stdlib.h> /* malloc() */ #include <unistd.h> /* access() */ gchar *web_extensions_directory; -const gchar *homepage = "https://hacktivis.me/projects/badwolf"; -const gchar *version = VERSION; +const gchar *homepage = "https://hacktivis.me/projects/badwolf"; +const gchar *version = VERSION; +int context_id_counter = 0; static gboolean WebViewCb_close(WebKitWebView *webView, gpointer user_data); static gboolean WebViewCb_web_process_terminated(WebKitWebView *webView, @@ -134,6 +135,10 @@ GtkWidget * badwolf_new_tab_box(const gchar *title, struct Client *browser) { (void)browser; + char context_id_str[7]; + + snprintf(context_id_str, 7, "%4X: ", browser->context_id); + GtkWidget *tab_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_set_name(tab_box, "browser__tabbox"); GtkWidget *close = @@ -141,6 +146,8 @@ badwolf_new_tab_box(const gchar *title, struct Client *browser) gtk_widget_set_name(close, "browser__tabbox__close"); GtkWidget *label = gtk_label_new(title); gtk_widget_set_name(label, "browser__tabbox__label"); + GtkWidget *context_label = gtk_label_new(context_id_str); + gtk_widget_set_name(label, "browser__tabbox__context_label"); GtkWidget *playing = gtk_image_new_from_icon_name("audio-volume-high-symbolic", GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_widget_set_name(playing, "browser__tabbox__playing"); @@ -155,8 +162,10 @@ badwolf_new_tab_box(const gchar *title, struct Client *browser) gtk_label_set_ellipsize(GTK_LABEL(label), BADWOLF_TAB_LABEL_ELLIPSIZE); gtk_label_set_single_line_mode(GTK_LABEL(label), TRUE); + gtk_label_set_single_line_mode(GTK_LABEL(context_label), TRUE); gtk_box_pack_start(GTK_BOX(tab_box), playing, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(tab_box), context_label, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(tab_box), label, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(tab_box), close, FALSE, FALSE, 0); @@ -589,8 +598,9 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat if(browser == NULL) return NULL; - browser->window = window; - browser->box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); + browser->window = window; + browser->context_id = context_id_counter++; + browser->box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_widget_set_name(browser->box, "browser__box"); browser->toolbar = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0); |