surf-short-title-20210206-7dcce9e.diff (3637B)
1 From d5437333d64ff5eb7aaab19e4d42b11d6773a7b0 Mon Sep 17 00:00:00 2001 2 From: Harsh Parekh <harsh_parekh@outlook.com> 3 Date: Sat, 6 Feb 2021 08:33:49 -0500 4 Subject: [PATCH] Hide status from title. 5 6 You can pass -E 1 to show the extended title. 7 --- 8 config.def.h | 2 ++ 9 surf.1 | 7 +++++++ 10 surf.c | 31 ++++++++++++++++++++++++------- 11 3 files changed, 33 insertions(+), 7 deletions(-) 12 13 diff --git a/config.def.h b/config.def.h 14 index be168ab..2783e4d 100644 15 --- a/config.def.h 16 +++ b/config.def.h 17 @@ -1,5 +1,6 @@ 18 /* modifier 0 means no modifier */ 19 static int surfuseragent = 1; /* Append Surf version to default WebKit user agent */ 20 +static int extendedtitle = 0; /* 0 to not append surf's toggle and page status to title. */ 21 static char *fulluseragent = ""; /* Or override the whole user agent string */ 22 static char *scriptfile = "~/.surf/script.js"; 23 static char *styledir = "~/.surf/styles/"; 24 @@ -176,6 +177,7 @@ static Key keys[] = { 25 { MODKEY|GDK_SHIFT_MASK, GDK_KEY_a, togglecookiepolicy, { 0 } }, 26 { 0, GDK_KEY_F11, togglefullscreen, { 0 } }, 27 { MODKEY|GDK_SHIFT_MASK, GDK_KEY_o, toggleinspector, { 0 } }, 28 + { MODKEY|GDK_SHIFT_MASK, GDK_KEY_e, toggletitle, { 0 } }, 29 30 { MODKEY|GDK_SHIFT_MASK, GDK_KEY_c, toggle, { .i = CaretBrowsing } }, 31 { MODKEY|GDK_SHIFT_MASK, GDK_KEY_f, toggle, { .i = FrameFlattening } }, 32 diff --git a/surf.1 b/surf.1 33 index 45c31bb..0e15c61 100644 34 --- a/surf.1 35 +++ b/surf.1 36 @@ -55,6 +55,13 @@ Enable the disk cache. 37 Reparents to window specified by 38 .IR xid . 39 .TP 40 +.B \-E [1|0] 41 +Show or hide 42 +.I indicators of operation 43 +and 44 +.I indicators of web page 45 +in the title. 46 +.TP 47 .B \-f 48 Start surf in windowed mode (not fullscreen). 49 .TP 50 diff --git a/surf.c b/surf.c 51 index ac832ff..bca0b91 100644 52 --- a/surf.c 53 +++ b/surf.c 54 @@ -234,6 +234,7 @@ static void toggle(Client *c, const Arg *a); 55 static void togglefullscreen(Client *c, const Arg *a); 56 static void togglecookiepolicy(Client *c, const Arg *a); 57 static void toggleinspector(Client *c, const Arg *a); 58 +static void toggletitle(Client *c, const Arg *a); 59 static void find(Client *c, const Arg *a); 60 61 /* Buttons */ 62 @@ -649,13 +650,19 @@ updatetitle(Client *c) 63 gettogglestats(c); 64 getpagestats(c); 65 66 - if (c->progress != 100) 67 - title = g_strdup_printf("[%i%%] %s:%s | %s", 68 - c->progress, togglestats, pagestats, name); 69 - else 70 - title = g_strdup_printf("%s:%s | %s", 71 - togglestats, pagestats, name); 72 - 73 + if (c->progress != 100) { 74 + if (!extendedtitle) 75 + title = g_strdup_printf("[%i%%] %s", c->progress, name); 76 + else 77 + title = g_strdup_printf("[%i%%] %s:%s | %s", 78 + c->progress, togglestats, pagestats, name); 79 + } else { 80 + if (!extendedtitle) 81 + title = g_strdup_printf("%s", name); 82 + else 83 + title = g_strdup_printf("%s:%s | %s", 84 + togglestats, pagestats, name); 85 + } 86 gtk_window_set_title(GTK_WINDOW(c->win), title); 87 g_free(title); 88 } else { 89 @@ -1953,6 +1960,13 @@ toggleinspector(Client *c, const Arg *a) 90 webkit_web_inspector_show(c->inspector); 91 } 92 93 +void 94 +toggletitle(Client *c, const Arg *a) 95 +{ 96 + extendedtitle = !extendedtitle; 97 + updatetitle(c); 98 +} 99 + 100 void 101 find(Client *c, const Arg *a) 102 { 103 @@ -2042,6 +2056,9 @@ main(int argc, char *argv[]) 104 case 'e': 105 embed = strtol(EARGF(usage()), NULL, 0); 106 break; 107 + case 'E': 108 + extendedtitle = strtol(EARGF(usage()), NULL, 0); 109 + break; 110 case 'f': 111 defconfig[RunInFullscreen].val.i = 0; 112 defconfig[RunInFullscreen].prio = 2; 113 -- 114 2.30.0 115