aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--config.def.h1
-rw-r--r--st.c13
2 files changed, 4 insertions, 10 deletions
diff --git a/config.def.h b/config.def.h
index ee677a5..3bf35d9 100644
--- a/config.def.h
+++ b/config.def.h
@@ -93,5 +93,6 @@ static Shortcut shortcuts[] = {
/* modifier key function argument */
{ MODKEY|ShiftMask, XK_Prior, xzoom, {.i = +1} },
{ MODKEY|ShiftMask, XK_Next, xzoom, {.i = -1} },
+ { ShiftMask, XK_Insert, selpaste, {.i = 0} },
};
diff --git a/st.c b/st.c
index 683a0e9..02a3502 100644
--- a/st.c
+++ b/st.c
@@ -261,6 +261,7 @@ typedef struct {
/* function definitions used in config.h */
static void xzoom(const Arg *);
+static void selpaste(const Arg *);
/* Config.h for applying patches and the configuration. */
#include "config.h"
@@ -360,7 +361,6 @@ static void selrequest(XEvent *);
static void selinit(void);
static inline bool selected(int, int);
static void selcopy(void);
-static void selpaste(void);
static void selscroll(int, int);
static int utf8decode(char *, long *);
@@ -750,7 +750,7 @@ selnotify(XEvent *e) {
}
void
-selpaste(void) {
+selpaste(const Arg *dummy) {
XConvertSelection(xw.dpy, XA_PRIMARY, sel.xtarget, XA_PRIMARY,
xw.win, CurrentTime);
}
@@ -821,7 +821,7 @@ brelease(XEvent *e) {
}
if(e->xbutton.button == Button2) {
- selpaste();
+ selpaste(NULL);
} else if(e->xbutton.button == Button1) {
sel.mode = 0;
getbuttoninfo(e, NULL, &sel.ex, &sel.ey);
@@ -2743,13 +2743,6 @@ kpress(XEvent *ev) {
(shift ? "dacb":"DACB")[ksym - XK_Left]);
len = 3;
break;
- case XK_Insert:
- if(shift) {
- selpaste();
- return;
- }
- memcpy(buf, xstr, len);
- break;
case XK_Return:
len = 0;
if(meta)