st

my customized branch of st - synced with upstream git://git.suckless.org/st
git clone git://git.jakekoroman.com/st
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 <grawity@gmail.com> for the patch!

Diffstat:
Mconfig.def.h | 1+
Mst.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;