surf-short-title-20210206-7dcce9e.diff - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
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