surf-clipboard-20200112-a6a8878.diff - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
surf-clipboard-20200112-a6a8878.diff (1924B)
---
1 From a6a8878bb6a203b589d559025b94a78214f22878 Mon Sep 17 00:00:00 2001
2 From: Olivier Moreau <m242@protonmail.com>
3 Date: Sun, 12 Jan 2020 11:23:11 +0000
4 Subject: [PATCH] Added choice between PRIMARY and CLIPBOARD Gtk selections, as
5 a config option
6
7 ---
8 config.def.h | 1 +
9 surf.c | 11 +++++++++--
10 2 files changed, 10 insertions(+), 2 deletions(-)
11
12 diff --git a/config.def.h b/config.def.h
13 index 34265f6..03bbe2b 100644
14 --- a/config.def.h
15 +++ b/config.def.h
16 @@ -48,6 +48,7 @@ static Parameter defconfig[ParameterLast] = {
17 [Style] = { { .i = 1 }, },
18 [WebGL] = { { .i = 0 }, },
19 [ZoomLevel] = { { .f = 1.0 }, },
20 + [ClipboardNotPrimary] = { { .i = 1 }, },
21 };
22
23 static UriParameters uriparams[] = {
24 diff --git a/surf.c b/surf.c
25 index 2b54e3c..b8a9b2f 100644
26 --- a/surf.c
27 +++ b/surf.c
28 @@ -82,6 +82,7 @@ typedef enum {
29 Style,
30 WebGL,
31 ZoomLevel,
32 + ClipboardNotPrimary,
33 ParameterLast
34 } ParamName;
35
36 @@ -291,6 +292,7 @@ static ParamName loadcommitted[] = {
37 SpellLanguages,
38 Style,
39 ZoomLevel,
40 + ClipboardNotPrimary,
41 ParameterLast
42 };
43
44 @@ -1816,13 +1818,18 @@ showcert(Client *c, const Arg *a)
45 void
46 clipboard(Client *c, const Arg *a)
47 {
48 + /* User defined choice of selection, see config.h */
49 + GdkAtom selection = GDK_SELECTION_PRIMARY;
50 + if (curconfig[ClipboardNotPrimary].val.i > 0)
51 + selection = GDK_SELECTION_CLIPBOARD;
52 +
53 if (a->i) { /* load clipboard uri */
54 gtk_clipboard_request_text(gtk_clipboard_get(
55 - GDK_SELECTION_PRIMARY),
56 + selection),
57 pasteuri, c);
58 } else { /* copy uri */
59 gtk_clipboard_set_text(gtk_clipboard_get(
60 - GDK_SELECTION_PRIMARY), c->targeturi
61 + selection), c->targeturi
62 ? c->targeturi : geturi(c), -1);
63 }
64 }
65 --
66 2.24.1
67