Summary Files Commits Branches @commit @diff @stats
path: root / badwolf.c
diff options
context:
space:
mode:
1 files changed, 18 insertions, 2 deletions
-rw-r--r--badwolf.c20
diff --git a/badwolf.c b/badwolf.c
index 02e9dcf..ad49144 100644
--- a/badwolf.c
+++ b/badwolf.c
@@ -28,6 +28,7 @@ GtkTreeModel *bookmarks_completion_model;
static gboolean tabs_no_label = false;
static gboolean tabs_constant = false;
+static gboolean tabs_context_label = false;
static gboolean tray_enabled = false;
static gboolean alt_useragent = false;
static int custom_favicon_size = 30;
@@ -174,7 +175,7 @@ badwolf_new_tab_box(const gchar *title, struct Client *browser)
/* flawfinder: ignore. bound checks are done */
char context_id_str[BADWOLF_CTX_SIZ] = {0, 0, 0, 0, 0, 0, 0};
- fmt_context_id(browser->context_id, context_id_str);
+ fmt_context_id(browser->context_id, context_id_str, 1);
GtkWidget *tab_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
gtk_widget_set_name(tab_box, "browser__tabbox");
@@ -182,6 +183,14 @@ badwolf_new_tab_box(const gchar *title, struct Client *browser)
GtkWidget *close =
gtk_button_new_from_icon_name("window-close-symbolic", GTK_ICON_SIZE_LARGE_TOOLBAR);
gtk_widget_set_name(close, "browser__tabbox__close");
+ GtkWidget *context_label;
+ GtkWidget *context_label_event_box;
+ if (tabs_context_label) {
+ context_label = gtk_label_new(context_id_str);
+ gtk_widget_set_name(context_label, "browser__tabbox__context_label");
+ context_label_event_box = gtk_event_box_new();
+ gtk_container_add(GTK_CONTAINER(context_label_event_box), context_label);
+ }
GtkWidget *favicon =
gtk_image_new_from_surface(scale_favicon(webkit_web_view_get_favicon(browser->webView)));
gtk_widget_set_name(favicon, "browser__tabbox__favicon");
@@ -208,6 +217,11 @@ 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);
+ if (tabs_context_label) {
+ gtk_label_set_single_line_mode(GTK_LABEL(context_label), TRUE);
+ gtk_box_pack_start(GTK_BOX(tab_box), context_label_event_box, TRUE, TRUE, 0);
+ }
+
gtk_box_pack_start(GTK_BOX(tab_box), favicon_event_box, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(tab_box), playing_event_box, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(tab_box), label_event_box, TRUE, TRUE, 0);
@@ -753,7 +767,7 @@ new_browser(struct Window *window, const gchar *target_url, struct Client *old_b
if (persistent_storage) {
char context_id_str[BADWOLF_CTX_SIZ] = {0, 0, 0, 0, 0, 0, 0};
if (separated_storage) {
- fmt_context_id(browser->context_id, context_id_str);
+ fmt_context_id(browser->context_id, context_id_str, 0);
g_mkdir_with_parents(
g_build_filename(g_get_user_config_dir(), "badwolf", context_id_str, NULL),
0755);
@@ -1247,6 +1261,8 @@ main(int argc, char *argv[])
while (argc > 1 && argv[1][0] == '-') {
if (argv[1][1] == 'n' && argv[1][2] == 'l')
tabs_no_label = TRUE;
+ else if (argv[1][1] == 'c' && argv[1][2] == 'l')
+ tabs_context_label = TRUE;
else if (argv[1][1] == 'c')
tabs_constant = TRUE;
else if (argv[1][1] == 't')