Introduction
Introduction Statistics Contact Development Disclaimer Help
surf-zoommtghandler-2.1.diff - sites - public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log
Files
Refs
---
surf-zoommtghandler-2.1.diff (2023B)
---
1 From 47c1ddc06052c5a86aaab8bc4a5a3fe59995b30b Mon Sep 17 00:00:00 2001
2 From: Lars Niesen <[email protected]>
3 Date: Thu, 9 Dec 2021 14:42:13 +0100
4 Subject: [PATCH] added zoommtg scheme handler
5
6 ---
7 surf.c | 25 +++++++++++++++++++++++++
8 1 file changed, 25 insertions(+)
9
10 diff --git a/surf.c b/surf.c
11 index af0fa74..338045c 100644
12 --- a/surf.c
13 +++ b/surf.c
14 @@ -217,6 +217,8 @@ static void webprocessterminated(WebKitWebView *v,
15 static void closeview(WebKitWebView *v, Client *c);
16 static void destroywin(GtkWidget* w, Client *c);
17
18 +static void handle_zoommtg(WebKitURISchemeRequest *request);
19 +
20 /* Hotkeys */
21 static void pasteuri(GtkClipboard *clipboard, const char *text, gpointe…
22 static void reload(Client *c, const Arg *a);
23 @@ -562,6 +564,7 @@ loaduri(Client *c, const Arg *a)
24 if (g_strcmp0(uri, "") == 0)
25 return;
26
27 +
28 if (g_str_has_prefix(uri, "http://") ||
29 g_str_has_prefix(uri, "https://") ||
30 g_str_has_prefix(uri, "file://") ||
31 @@ -1182,6 +1185,9 @@ newview(Client *c, WebKitWebView *rv)
32 g_signal_connect(G_OBJECT(context), "initialize-web-ext…
33 G_CALLBACK(initwebextensions), c);
34
35 + webkit_web_context_register_uri_scheme(context, "zoommt…
36 + (WebKitURISchemeRequest…
37 +
38 v = g_object_new(WEBKIT_TYPE_WEB_VIEW,
39 "settings", settings,
40 "user-content-manager", contentmanager,
41 @@ -1776,6 +1782,25 @@ destroywin(GtkWidget* w, Client *c)
42 gtk_main_quit();
43 }
44
45 +void
46 +handle_zoommtg(WebKitURISchemeRequest *request)
47 +{
48 + char* uri = webkit_uri_scheme_request_get_uri (request);
49 + Arg a = (Arg)PLUMB(uri);
50 + printf("handleplumb: %s",(char*)a.v);
51 + if (fork() == 0) {
52 + if (dpy)
53 + close(ConnectionNumber(dpy));
54 + close(spair[0]);
55 + close(spair[1]);
56 + setsid();
57 + execvp(((char **)a.v)[0], (char **)a.v);
58 + fprintf(stderr, "%s: execvp %s", argv0, ((char **)a.v)[…
59 + perror(" failed");
60 + exit(1);
61 + }
62 +}
63 +
64 void
65 pasteuri(GtkClipboard *clipboard, const char *text, gpointer d)
66 {
67 --
68 2.34.1
69
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.