rio: single line scroll up/down with holding shift key
This commit is contained in:
parent
5cabb3070c
commit
92d3ff8426
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue