JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
Move Shift + Insert to shortcut
authorRoberto E. Vargas Caballero <k0ga@shike2.com>
Tue, 13 Nov 2012 19:04:39 +0000 (20:04 +0100)
committerRoberto E. Vargas Caballero <k0ga@shike2.com>
Tue, 13 Nov 2012 19:04:39 +0000 (20:04 +0100)
Shift + Insert is used like a hot key for paste the selection, so it is more
logical move it to shortcut array instead of having special code for it.
---
 config.def.h |    1 +
 st.c         |   13 +++----------
 2 files changed, 4 insertions(+), 10 deletions(-)

config.def.h
st.c

index ee677a5..3bf35d9 100644 (file)
@@ -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} },
        /* 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 (file)
--- a/st.c
+++ b/st.c
@@ -261,6 +261,7 @@ typedef struct {
 
 /* function definitions used in config.h */
 static void xzoom(const Arg *);
 
 /* 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"
 
 /* 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 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 *);
 static void selscroll(int, int);
 
 static int utf8decode(char *, long *);
@@ -750,7 +750,7 @@ selnotify(XEvent *e) {
 }
 
 void
 }
 
 void
-selpaste(void) {
+selpaste(const Arg *dummy) {
        XConvertSelection(xw.dpy, XA_PRIMARY, sel.xtarget, XA_PRIMARY,
                        xw.win, CurrentTime);
 }
        XConvertSelection(xw.dpy, XA_PRIMARY, sel.xtarget, XA_PRIMARY,
                        xw.win, CurrentTime);
 }
@@ -821,7 +821,7 @@ brelease(XEvent *e) {
        }
 
        if(e->xbutton.button == Button2) {
        }
 
        if(e->xbutton.button == Button2) {
-               selpaste();
+               selpaste(NULL);
        } else if(e->xbutton.button == Button1) {
                sel.mode = 0;
                getbuttoninfo(e, NULL, &sel.ex, &sel.ey);
        } 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;
                                (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)
                case XK_Return:
                        len = 0;
                        if(meta)