aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristoph Lohmann <20h@r-36.net>2013-02-23 21:50:13 +0100
committerChristoph Lohmann <20h@r-36.net>2013-02-23 21:50:13 +0100
commitbe7c6d7fb09ff50127332060d771b94a3bc8e44c (patch)
treed8b86751aef52effed37f75952364c144558a7d7
parente40d8da194cb02b400b09d2c8642f701c5c16821 (diff)
downloadst-be7c6d7fb09ff50127332060d771b94a3bc8e44c.tar.gz
Add insert for the primary clipboard to MOD + Shift + Ins.
Thanks Mantas Mikulėnas <grawity@gmail.com> for the patch!
-rw-r--r--config.def.h1
-rw-r--r--st.c17
2 files changed, 15 insertions, 3 deletions
diff --git a/config.def.h b/config.def.h
index a31a235..34884c0 100644
--- 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
index 2ebb15b..afa6813 100644
--- 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;
remember that computers suck.