Summary Files Commits Branches @commit @diff @stats
path: root / badwolf.c
diff options
context:
space:
mode:
Commitcb232d9e919d67c71a96d7ab1fc85cf5aa968b81 (patch)
Author
 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2020-06-16 01:45:13 +0200
Committer
 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2020-06-16 01:45:13 +0200
Files539a3292585db9253351beb502b054b8302b3cbe /badwolf.c
goodwolf-cb232d9e919d67c71a96d7ab1fc85cf5aa968b81.tar
goodwolf-cb232d9e919d67c71a96d7ab1fc85cf5aa968b81.tar.gz
goodwolf-cb232d9e919d67c71a96d7ab1fc85cf5aa968b81.zip
Parent4b85e087dad714f6e969f702e8be7319531afc37 (diff)
Add webcontext hex id to tab label
1 files changed, 15 insertions, 5 deletions
-rw-r--r--badwolf.c20
diff --git a/badwolf.c b/badwolf.c
index 54dcf53..b0e2beb 100644
--- a/badwolf.c
+++ b/badwolf.c
@@ -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);