From a6a8878bb6a203b589d559025b94a78214f22878 Mon Sep 17 00:00:00 2001 From: Olivier Moreau Date: Sun, 12 Jan 2020 11:23:11 +0000 Subject: [PATCH] Added choice between PRIMARY and CLIPBOARD Gtk selections, as a config option --- config.def.h | 1 + surf.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/config.def.h b/config.def.h index 34265f6..03bbe2b 100644 --- a/config.def.h +++ b/config.def.h @@ -48,6 +48,7 @@ static Parameter defconfig[ParameterLast] = { [Style] = { { .i = 1 }, }, [WebGL] = { { .i = 0 }, }, [ZoomLevel] = { { .f = 1.0 }, }, + [ClipboardNotPrimary] = { { .i = 1 }, }, }; static UriParameters uriparams[] = { diff --git a/surf.c b/surf.c index 2b54e3c..b8a9b2f 100644 --- a/surf.c +++ b/surf.c @@ -82,6 +82,7 @@ typedef enum { Style, WebGL, ZoomLevel, + ClipboardNotPrimary, ParameterLast } ParamName; @@ -291,6 +292,7 @@ static ParamName loadcommitted[] = { SpellLanguages, Style, ZoomLevel, + ClipboardNotPrimary, ParameterLast }; @@ -1816,13 +1818,18 @@ showcert(Client *c, const Arg *a) void clipboard(Client *c, const Arg *a) { + /* User defined choice of selection, see config.h */ + GdkAtom selection = GDK_SELECTION_PRIMARY; + if (curconfig[ClipboardNotPrimary].val.i > 0) + selection = GDK_SELECTION_CLIPBOARD; + if (a->i) { /* load clipboard uri */ gtk_clipboard_request_text(gtk_clipboard_get( - GDK_SELECTION_PRIMARY), + selection), pasteuri, c); } else { /* copy uri */ gtk_clipboard_set_text(gtk_clipboard_get( - GDK_SELECTION_PRIMARY), c->targeturi + selection), c->targeturi ? c->targeturi : geturi(c), -1); } } -- 2.24.1