Add insert for the primary clipboard to MOD + Shift + Ins. - st - Simple Terminal
Log
Files
Refs
README
LICENSE
---
commit be7c6d7fb09ff50127332060d771b94a3bc8e44c
parent e40d8da194cb02b400b09d2c8642f701c5c16821
Author: Christoph Lohmann <20h@r-36.net>
Date:   Sat, 23 Feb 2013 21:50:13 +0100

Add insert for the primary clipboard to MOD + Shift + Ins.

Thanks Mantas Mikulėnas  for the patch!

Diffstat:
  config.def.h                        |       1 +
  st.c                                |      17 ++++++++++++++---

2 files changed, 15 insertions(+), 3 deletions(-)
---
diff --git a/config.def.h b/config.def.h
@@ -70,6 +70,7 @@ static Shortcut shortcuts[] = {
         { MODKEY|ShiftMask,        XK_Prior,        xzoom,                {.i = +1} },
         { MODKEY|ShiftMask,        XK_Next,        xzoom,                {.i = -1} },
         { ShiftMask,                XK_Insert,        selpaste,        {.i =  0} },
+        { MODKEY|ShiftMask,        XK_Insert,        clippaste,        {.i =  0} },
         { MODKEY,                XK_Num_Lock,        numlock,        {.i =  0} },
 };
 
diff --git a/st.c b/st.c
@@ -266,9 +266,10 @@ typedef struct {
 } Shortcut;
 
 /* function definitions used in config.h */
-static void xzoom(const Arg *);
-static void selpaste(const Arg *);
+static void clippaste(const Arg *);
 static void numlock(const Arg *);
+static void selpaste(const Arg *);
+static void xzoom(const Arg *);
 
 /* Config.h for applying patches and the configuration. */
 #include "config.h"
@@ -830,7 +831,17 @@ selpaste(const Arg *dummy) {
                         xw.win, CurrentTime);
 }
 
-void selclear(XEvent *e) {
+void
+clippaste(const Arg *dummy) {
+        Atom clipboard;
+
+        clipboard = XInternAtom(xw.dpy, "CLIPBOARD", 0);
+        XConvertSelection(xw.dpy, clipboard, sel.xtarget, XA_PRIMARY,
+                        xw.win, CurrentTime);
+}
+
+void
+selclear(XEvent *e) {
         if(sel.bx == -1)
                 return;
         sel.bx = -1;