+ else if(b == 1) {
+ struct timeval now;
+ gettimeofday(&now, NULL);
+
+ if(TIMEDIFF(now, sel.tclick2) <= TRIPLECLICK_TIMEOUT) {
+ /* triple click on the line */
+ sel.b.x = sel.bx = 0;
+ sel.e.x = sel.ex = term.col;
+ sel.b.y = sel.e.y = sel.ey;
+ selcopy();
+ } else if(TIMEDIFF(now, sel.tclick1) <= DOUBLECLICK_TIMEOUT) {
+ /* double click to select word */
+ sel.bx = sel.ex;
+ while(term.line[sel.ey][sel.bx-1].state & GLYPH_SET &&
+ term.line[sel.ey][sel.bx-1].c[0] != ' ') sel.bx--;
+ sel.b.x = sel.bx;
+ while(term.line[sel.ey][sel.ex+1].state & GLYPH_SET &&
+ term.line[sel.ey][sel.ex+1].c[0] != ' ') sel.ex++;
+ sel.e.x = sel.ex;
+ sel.b.y = sel.e.y = sel.ey;
+ selcopy();
+ }
+ }
+ } else if(b == 1)
+ selcopy();
+ memcpy(&sel.tclick2, &sel.tclick1, sizeof(struct timeval));
+ gettimeofday(&sel.tclick1, NULL);
+ draw();