aboutsummaryrefslogtreecommitdiff
path: root/st.c
diff options
context:
space:
mode:
authorAurélien Aptel <aurelien.aptel@gmail.com>2010-08-31 16:53:34 +0200
committerAurélien Aptel <aurelien.aptel@gmail.com>2010-08-31 16:53:34 +0200
commitc4225bdcc9da2eb87e49608cc1821757cbd69dee (patch)
tree9659d25849248cba5b760d6a9a81f49edce1e840 /st.c
parentf211bc2eedaa8ea86dc66ad04ccd08938c73a93c (diff)
downloadst-c4225bdcc9da2eb87e49608cc1821757cbd69dee.tar.gz
st-c4225bdcc9da2eb87e49608cc1821757cbd69dee.zip
add selinit() and renamed clipboard_* to sel*.
Diffstat (limited to 'st.c')
-rw-r--r--st.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/st.c b/st.c
index 1497dd2..67ba8d5 100644
--- a/st.c
+++ b/st.c
@@ -185,9 +185,9 @@ static char* kmap(KeySym);
185static void kpress(XEvent *); 185static void kpress(XEvent *);
186static void resize(XEvent *); 186static void resize(XEvent *);
187static void focus(XEvent *); 187static void focus(XEvent *);
188static void brelease(XEvent *e); 188static void brelease(XEvent *);
189static void bpress(XEvent *e); 189static void bpress(XEvent *);
190static void bmotion(XEvent *e); 190static void bmotion(XEvent *);
191 191
192 192
193static void (*handler[LASTEvent])(XEvent *) = { 193static void (*handler[LASTEvent])(XEvent *) = {
@@ -210,6 +210,13 @@ static int cmdfd;
210static pid_t pid; 210static pid_t pid;
211static Selection sel; 211static Selection sel;
212 212
213void
214selinit(void) {
215 sel.mode = 0;
216 sel.bx = -1;
217 sel.clip = NULL;
218}
219
213static inline int selected(int x, int y) { 220static inline int selected(int x, int y) {
214 if ((sel.ey==y && sel.by==y)) { 221 if ((sel.ey==y && sel.by==y)) {
215 int bx = MIN(sel.bx, sel.ex); 222 int bx = MIN(sel.bx, sel.ex);
@@ -261,12 +268,12 @@ static char *getseltext() {
261} 268}
262 269
263/* TODO: use X11 clipboard */ 270/* TODO: use X11 clipboard */
264static void clipboard_copy(char *str) { 271static void selcopy(char *str) {
265 free(sel.clip); 272 free(sel.clip);
266 sel.clip = str; 273 sel.clip = str;
267} 274}
268 275
269static void clipboard_paste() { 276static void selpaste() {
270 if(sel.clip) 277 if(sel.clip)
271 ttywrite(sel.clip, strlen(sel.clip)); 278 ttywrite(sel.clip, strlen(sel.clip));
272} 279}
@@ -1471,6 +1478,7 @@ main(int argc, char *argv[]) {
1471 tnew(80, 24); 1478 tnew(80, 24);
1472 ttynew(); 1479 ttynew();
1473 xinit(); 1480 xinit();
1481 selinit();
1474 run(); 1482 run();
1475 return 0; 1483 return 0;
1476} 1484}