st

simple terminal

git clone https://9o.is/git/st.git

commit fff0bea80de8b2d703b5a4360c01984e6ac18ba8
parent 13b4b0f2ce8aba15ea603888a60919d9bb8990c0
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;