# st

Unnamed repository; edit this file 'description' to name the repository.

| Log | Files | Refs | README | LICENSE

    commit 674434ef6f75247fb25d8e5b39786bca9a0cabec
    parent a047431d34aa77ac7a8fab08151fb569bbe2148e
    Author: Aurélien Aptel <aurelien.aptel@gmail.com>
    Date:   Sun,  3 Apr 2011 00:35:02 +0200

    add support for utf8 clipboard. fix usage message.

    Diffstat:
    Mst.c | 10+++++++---

    1 file changed, 7 insertions(+), 3 deletions(-)
    diff --git a/st.c b/st.c
    @@ -32,7 +32,7 @@

     #define USAGE \
     	"st-" VERSION ", (c) 2010 st engineers\n" \
    -	"usage: st [-t title] [-c class] [-e cmd] [-v]\n"
    +	"usage: st [-t title] [-c class] [-v] [-e cmd]\n"

     /* Arbitrary sizes */
     #define ESC_TITLE_SIZ 256
    @@ -152,6 +152,7 @@ typedef struct {
     	int ex, ey;
     	struct {int x, y;}  b, e;
     	char *clip;
    +	Atom xtarget;
     } Selection;

     #include "config.h"
    @@ -370,6 +371,9 @@ selinit(void) {
     	sel.mode = 0;
     	sel.bx = -1;
     	sel.clip = NULL;
    +	sel.xtarget = XInternAtom(xw.dpy, "UTF8_STRING", 0);
    +	if(sel.xtarget == None)
    +		sel.xtarget = XA_STRING;
     }

     static inline int
    @@ -453,7 +457,7 @@ selnotify(XEvent *e) {

     void
     selpaste() {
    -	XConvertSelection(xw.dpy, XA_PRIMARY, XA_STRING, XA_PRIMARY, xw.win, CurrentTime);
    +	XConvertSelection(xw.dpy, XA_PRIMARY, sel.xtarget, XA_PRIMARY, xw.win, CurrentTime);
     }

     void
    @@ -474,7 +478,7 @@ selrequest(XEvent *e) {
     	xa_targets = XInternAtom(xw.dpy, "TARGETS", 0);
     	if(xsre->target == xa_targets) {
     		/* respond with the supported type */
    -		Atom string = XA_STRING;
    +		Atom string = sel.xtarget;
     		XChangeProperty(xsre->display, xsre->requestor, xsre->property,
     				XA_ATOM, 32, PropModeReplace,
     				(unsigned char *) &string, 1);