From 0ed063eb4110266e178c0bb879ee3f9debcd9d58 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Tue, 25 Jan 2005 23:36:31 +0000 Subject: [PATCH] Allow copying from scrollback. Fix getch()-related bug... probobly doing anything with the mouse while viewing the scrollback would have hung SyncTERM. --- src/syncterm/menu.c | 8 +++++++- src/syncterm/term.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/syncterm/menu.c b/src/syncterm/menu.c index 9cefc78cb8..1ea087ea63 100644 --- a/src/syncterm/menu.c +++ b/src/syncterm/menu.c @@ -34,10 +34,16 @@ void viewscroll(void) puttext(term.x-1,term.y-1,term.x+term.width-2,term.y+term.height-2,scrollback+(term.width*2*top)); key=getch(); switch(key) { + case 0xff: case 0: - switch(getch()<<8) { + switch(key|getch()<<8) { case CIO_KEY_MOUSE: getmouse(&mevent); + switch(mevent.event) { + case CIOLIB_BUTTON_1_DRAG_START: + mousedrag(scrollback); + break; + } break; case CIO_KEY_UP: top--; diff --git a/src/syncterm/term.h b/src/syncterm/term.h index ce607467c5..df2480e209 100644 --- a/src/syncterm/term.h +++ b/src/syncterm/term.h @@ -12,5 +12,6 @@ extern struct terminal term; extern int backlines; void doterm(void); +void mousedrag(unsigned char *scrollback); #endif -- GitLab