From: Connor Lane Smith Date: Wed, 26 Oct 2011 12:28:15 +0000 (+0100) Subject: add paste from clipboard X-Git-Url: https://git.danieliu.xyz/?a=commitdiff_plain;h=dc77337ef35a52e1da8a74339bc39f32e6e5ab56;p=dmenu.git add paste from clipboard --- diff --git a/dmenu.c b/dmenu.c index 5e01441..3f48d30 100644 --- a/dmenu.c +++ b/dmenu.c @@ -52,7 +52,7 @@ static const char *selfgcolor = "#ffffff"; static unsigned int lines = 0; static unsigned long normcol[ColLast]; static unsigned long selcol[ColLast]; -static Atom utf8; +static Atom clip, utf8; static Bool topbar = True; static DC *dc; static Item *items = NULL; @@ -275,7 +275,8 @@ keypress(XKeyEvent *ev) { insert(NULL, nextrune(-1) - cursor); break; case XK_y: /* paste selection */ - XConvertSelection(dc->dpy, XA_PRIMARY, utf8, utf8, win, CurrentTime); + XConvertSelection(dc->dpy, (ev->state & ShiftMask) ? clip : XA_PRIMARY, + utf8, utf8, win, CurrentTime); return; default: return; @@ -517,6 +518,7 @@ setup(void) { selcol[ColBG] = getcolor(dc, selbgcolor); selcol[ColFG] = getcolor(dc, selfgcolor); + clip = XInternAtom(dc->dpy, "CLIPBOARD", False); utf8 = XInternAtom(dc->dpy, "UTF8_STRING", False); /* calculate menu geometry */