Add insert for the primary clipboard to MOD + Shift + Ins. - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit be7c6d7fb09ff50127332060d771b94a3bc8e44c
 (DIR) parent e40d8da194cb02b400b09d2c8642f701c5c16821
 (HTM) 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 <grawity@gmail.com> for the patch!
       
       Diffstat:
         M config.def.h                        |       1 +
         M st.c                                |      17 ++++++++++++++---
       
       2 files changed, 15 insertions(+), 3 deletions(-)
       ---
 (DIR) 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} },
        };
        
 (DIR) 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;