Add insert for the primary clipboard to MOD + Shift + Ins.
authorChristoph Lohmann <20h@r-36.net>
Sat, 23 Feb 2013 20:50:13 +0000 (21:50 +0100)
committerChristoph Lohmann <20h@r-36.net>
Sat, 23 Feb 2013 20:50:13 +0000 (21:50 +0100)
Thanks Mantas Mikulėnas <grawity@gmail.com> for the patch!

config.def.h
st.c

index a31a235..34884c0 100644 (file)
@@ -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
index 2ebb15b..afa6813 100644 (file)
--- 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;