rio: single line scroll up/down with holding shift key

This commit is contained in:
cinap_lenrek 2012-09-16 02:49:41 +02:00
parent 5cabb3070c
commit 92d3ff8426
3 changed files with 5 additions and 2 deletions

View file

@ -343,3 +343,4 @@ int errorshouldabort;
int menuing; /* menu action is pending; waiting for window to be indicated */
int snarfversion; /* updated each time it is written */
int messagesize; /* negotiated in 9P version setup */
int shiftdown;

View file

@ -345,6 +345,8 @@ keyboardthread(void*)
threadsetname("keyboardthread");
while(s = recvp(kbdchan)){
if(*s == 'k' || *s == 'K')
shiftdown = utfrune(s+1, Kshift) != nil;
if(input == nil || sendp(input->ck, s) <= 0)
free(s);
}

View file

@ -618,7 +618,7 @@ wkeyctl(Window *w, Rune r)
if(!w->mouseopen)
switch(r){
case Kdown:
n = w->maxlines/3;
n = shiftdown ? 1 : w->maxlines/3;
goto case_Down;
case Kscrollonedown:
n = mousescrollsize(w->maxlines);
@ -632,7 +632,7 @@ wkeyctl(Window *w, Rune r)
wsetorigin(w, q0, TRUE);
return;
case Kup:
n = w->maxlines/3;
n = shiftdown ? 1 : w->maxlines/3;
goto case_Up;
case Kscrolloneup:
n = mousescrollsize(w->maxlines);