surf-notifications-20230403-665a709.diff - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
surf-notifications-20230403-665a709.diff (3843B)
---
1 From 3233530cdaa1dc06f007cfa54ee923b66b95dbf2 Mon Sep 17 00:00:00 2001
2 From: Randolph Sapp <rs@ti.com>
3 Date: Mon, 3 Apr 2023 15:29:39 -0500
4 Subject: [PATCH] surf: update notifications patch for latest
5
6 Update "notifications" patch for use with surf version
7 665a709b522a6fa18c671f1fc41297603292d0e8
8
9 Signed-off-by: Randolph Sapp <rs@ti.com>
10 ---
11 config.def.h | 2 ++
12 surf.c | 16 +++++++++++++++-
13 2 files changed, 17 insertions(+), 1 deletion(-)
14
15 diff --git a/config.def.h b/config.def.h
16 index ca77061..12a598d 100644
17 --- a/config.def.h
18 +++ b/config.def.h
19 @@ -36,6 +36,7 @@ static Parameter defconfig[ParameterLast] = {
20 [KioskMode] = { { .i = 0 }, },
21 [LoadImages] = { { .i = 1 }, },
22 [MediaManualPlay] = { { .i = 1 }, },
23 + [Notifications] = { { .i = 0 } },
24 [PreferredLanguages] = { { .v = (char *[]){ NULL } }, },
25 [RunInFullscreen] = { { .i = 0 }, },
26 [ScrollBars] = { { .i = 1 }, },
27 @@ -178,6 +179,7 @@ static Key keys[] = {
28 { MODKEY|GDK_SHIFT_MASK, GDK_KEY_s, toggle, { .i = JavaScript } },
29 { MODKEY|GDK_SHIFT_MASK, GDK_KEY_i, toggle, { .i = LoadImages } },
30 { MODKEY|GDK_SHIFT_MASK, GDK_KEY_b, toggle, { .i = ScrollBars } },
31 + { MODKEY|GDK_SHIFT_MASK, GDK_KEY_l, toggle, { .i = Notifications } },
32 { MODKEY|GDK_SHIFT_MASK, GDK_KEY_t, toggle, { .i = StrictTLS } },
33 { MODKEY|GDK_SHIFT_MASK, GDK_KEY_m, toggle, { .i = Style } },
34 { MODKEY|GDK_SHIFT_MASK, GDK_KEY_d, toggle, { .i = DarkMode } },
35 diff --git a/surf.c b/surf.c
36 index 001f776..7d34c9b 100644
37 --- a/surf.c
38 +++ b/surf.c
39 @@ -72,6 +72,7 @@ typedef enum {
40 KioskMode,
41 LoadImages,
42 MediaManualPlay,
43 + Notifications,
44 PreferredLanguages,
45 RunInFullscreen,
46 ScrollBars,
47 @@ -245,7 +246,7 @@ static void clicknewwindow(Client *c, const Arg *a, WebKitHitTestResult *h);
48 static void clickexternplayer(Client *c, const Arg *a, WebKitHitTestResult *h);
49
50 static char winid[64];
51 -static char togglestats[11];
52 +static char togglestats[12];
53 static char pagestats[2];
54 static Atom atoms[AtomLast];
55 static Window embed;
56 @@ -680,6 +681,7 @@ gettogglestats(Client *c)
57 togglestats[7] = curconfig[FrameFlattening].val.i ? 'F' : 'f';
58 togglestats[8] = curconfig[Certificate].val.i ? 'X' : 'x';
59 togglestats[9] = curconfig[StrictTLS].val.i ? 'T' : 't';
60 + togglestats[10] = curconfig[Notifications].val.i ? 'L' : 'l';
61 }
62
63 void
64 @@ -828,6 +830,9 @@ setparameter(Client *c, int refresh, ParamName p, const Arg *a)
65 webkit_settings_set_media_playback_requires_user_gesture(
66 c->settings, a->i);
67 break;
68 + case Notifications:
69 + refresh = 0;
70 + return;
71 case PreferredLanguages:
72 return; /* do nothing */
73 case RunInFullscreen:
74 @@ -1035,6 +1040,7 @@ newwindow(Client *c, const Arg *a, int noembed)
75 cmd[i++] = scriptfile;
76 }
77 cmd[i++] = curconfig[JavaScript].val.i ? "-S" : "-s";
78 + cmd[i++] = curconfig[Notifications].val.i ? "-L" : "-l";
79 cmd[i++] = curconfig[StrictTLS].val.i ? "-T" : "-t";
80 if (fulluseragent && g_strcmp0(fulluseragent, "")) {
81 cmd[i++] = "-u";
82 @@ -1628,6 +1634,8 @@ permissionrequested(WebKitWebView *v, WebKitPermissionRequest *r, Client *c)
83 else if (webkit_user_media_permission_is_for_video_device(
84 WEBKIT_USER_MEDIA_PERMISSION_REQUEST(r)))
85 param = AccessWebcam;
86 + } else if (WEBKIT_IS_NOTIFICATION_PERMISSION_REQUEST(r)) {
87 + param = Notifications;
88 } else {
89 return FALSE;
90 }
91 @@ -2092,6 +2100,12 @@ main(int argc, char *argv[])
92 defconfig[KioskMode].val.i = 1;
93 defconfig[KioskMode].prio = 2;
94 break;
95 + case 'l':
96 + defconfig[Notifications].val.i = 0;
97 + break;
98 + case 'L':
99 + defconfig[Notifications].val.i = 1;
100 + break;
101 case 'm':
102 defconfig[Style].val.i = 0;
103 defconfig[Style].prio = 2;
104 --
105 2.40.0
106