rio: single line scroll up/down with holding shift key
This commit is contained in:
parent
5cabb3070c
commit
92d3ff8426
3 changed files with 5 additions and 2 deletions
|
@ -343,3 +343,4 @@ int errorshouldabort;
|
||||||
int menuing; /* menu action is pending; waiting for window to be indicated */
|
int menuing; /* menu action is pending; waiting for window to be indicated */
|
||||||
int snarfversion; /* updated each time it is written */
|
int snarfversion; /* updated each time it is written */
|
||||||
int messagesize; /* negotiated in 9P version setup */
|
int messagesize; /* negotiated in 9P version setup */
|
||||||
|
int shiftdown;
|
||||||
|
|
|
@ -345,6 +345,8 @@ keyboardthread(void*)
|
||||||
threadsetname("keyboardthread");
|
threadsetname("keyboardthread");
|
||||||
|
|
||||||
while(s = recvp(kbdchan)){
|
while(s = recvp(kbdchan)){
|
||||||
|
if(*s == 'k' || *s == 'K')
|
||||||
|
shiftdown = utfrune(s+1, Kshift) != nil;
|
||||||
if(input == nil || sendp(input->ck, s) <= 0)
|
if(input == nil || sendp(input->ck, s) <= 0)
|
||||||
free(s);
|
free(s);
|
||||||
}
|
}
|
||||||
|
|
|
@ -618,7 +618,7 @@ wkeyctl(Window *w, Rune r)
|
||||||
if(!w->mouseopen)
|
if(!w->mouseopen)
|
||||||
switch(r){
|
switch(r){
|
||||||
case Kdown:
|
case Kdown:
|
||||||
n = w->maxlines/3;
|
n = shiftdown ? 1 : w->maxlines/3;
|
||||||
goto case_Down;
|
goto case_Down;
|
||||||
case Kscrollonedown:
|
case Kscrollonedown:
|
||||||
n = mousescrollsize(w->maxlines);
|
n = mousescrollsize(w->maxlines);
|
||||||
|
@ -632,7 +632,7 @@ wkeyctl(Window *w, Rune r)
|
||||||
wsetorigin(w, q0, TRUE);
|
wsetorigin(w, q0, TRUE);
|
||||||
return;
|
return;
|
||||||
case Kup:
|
case Kup:
|
||||||
n = w->maxlines/3;
|
n = shiftdown ? 1 : w->maxlines/3;
|
||||||
goto case_Up;
|
goto case_Up;
|
||||||
case Kscrolloneup:
|
case Kscrolloneup:
|
||||||
n = mousescrollsize(w->maxlines);
|
n = mousescrollsize(w->maxlines);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue