From 8b68bc3f5747f295988edcdf7a5edc64a9417b11 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 17 Jul 2022 20:09:47 +0300 Subject: badwolf: Brought back context label with the switch -cl --- badwolf.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'badwolf.c') 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') -- cgit v1.3.1-23-gd82d