Xinqi Bao's Git
projects
/
st.git
/ commitdiff
summary
|
log
|
commit
|
diff
|
tree
raw
|
patch
|
inline
| side by side (from parent 1:
a047431
)
add support for utf8 clipboard. fix usage message.
author
Aurélien Aptel <
[email protected]
>
Sat, 2 Apr 2011 22:35:02 +0000
(
00:35
+0200)
committer
Aurélien Aptel <
[email protected]
>
Sat, 2 Apr 2011 22:35:02 +0000
(
00:35
+0200)
st.c
patch
|
blob
|
history
diff --git
a/st.c
b/st.c
index
561d5b0
..
ed750e6
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-32,7
+32,7
@@
#define USAGE \
"st-" VERSION ", (c) 2010 st engineers\n" \
#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
/* Arbitrary sizes */
#define ESC_TITLE_SIZ 256
@@
-152,6
+152,7
@@
typedef struct {
int ex, ey;
struct {int x, y;} b, e;
char *clip;
int ex, ey;
struct {int x, y;} b, e;
char *clip;
+ Atom xtarget;
} Selection;
#include "config.h"
} Selection;
#include "config.h"
@@
-370,6
+371,9
@@
selinit(void) {
sel.mode = 0;
sel.bx = -1;
sel.clip = NULL;
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
}
static inline int
@@
-453,7
+457,7
@@
selnotify(XEvent *e) {
void
selpaste() {
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
}
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 */
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);
XChangeProperty(xsre->display, xsre->requestor, xsre->property,
XA_ATOM, 32, PropModeReplace,
(unsigned char *) &string, 1);