sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | 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