Buttons 4 and 5.

This commit is contained in:
rsc 2004-06-09 14:01:43 +00:00
parent ff8bbc7987
commit c16f1f733b
3 changed files with 24 additions and 3 deletions

View file

@ -536,6 +536,18 @@ mousethread(void *v)
}
goto Continue;
}
/* scroll buttons, wheels, etc. */
if(t->what==Body && w != nil && (m.buttons & (8|16))){
if(m.buttons & 8)
but = Kscrolloneup;
else
but = Kscrollonedown;
winlock(w, 'M');
t->eq0 = ~0;
texttype(t, but);
winunlock(w);
goto Continue;
}
if(ptinrect(m.xy, t->scrollr)){
if(but){
if(t->what == Columntag)

View file

@ -529,7 +529,12 @@ int editing;
int erroutfd;
int messagesize; /* negotiated in 9P version setup */
int globalautoindent;
int nodotfiles;
enum
{
Kscrolloneup = KF|0x20,
Kscrollonedown = KF|0x21,
};
Channel *ckeyboard; /* chan(Rune)[10] */
Channel *cplumb; /* chan(Plumbmsg*) */

View file

@ -224,8 +224,6 @@ textload(Text *t, uint q0, char *file, int setqid)
dbuf = nil;
while((n=dirread(fd, &dbuf)) > 0){
for(i=0; i<n; i++){
if(nodotfiles && dbuf[i].name[0] == '.')
continue;
dl = emalloc(sizeof(Dirlist));
j = strlen(dbuf[i].name);
tmp = emalloc(j+1+1);
@ -660,6 +658,9 @@ texttype(Text *t, Rune r)
case Kdown:
n = t->fr.maxlines/3;
goto case_Down;
case Kscrollonedown:
n = 1;
goto case_Down;
case Kpgdown:
n = 2*t->fr.maxlines/3;
case_Down:
@ -669,6 +670,9 @@ texttype(Text *t, Rune r)
case Kup:
n = t->fr.maxlines/3;
goto case_Up;
case Kscrolloneup:
n = 2; /* feels like this should be n=1, but that does nothing */
goto case_Up;
case Kpgup:
n = 2*t->fr.maxlines/3;
case_Up: