aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2004-06-09 14:01:43 +0000
committerrsc <devnull@localhost>2004-06-09 14:01:43 +0000
commitc16f1f733b5748211db515fa19dd821065fd6fc7 (patch)
treeb3c9867c872f5cbb426f8e4bd7eea8a0113bf016 /src
parentff8bbc7987bd23cffd029d5968e76dbdeb67c7fa (diff)
downloadplan9port-c16f1f733b5748211db515fa19dd821065fd6fc7.tar.gz
plan9port-c16f1f733b5748211db515fa19dd821065fd6fc7.tar.bz2
plan9port-c16f1f733b5748211db515fa19dd821065fd6fc7.zip
Buttons 4 and 5.
Diffstat (limited to 'src')
-rw-r--r--src/cmd/acme/acme.c12
-rw-r--r--src/cmd/acme/dat.h7
-rw-r--r--src/cmd/acme/text.c8
3 files changed, 24 insertions, 3 deletions
diff --git a/src/cmd/acme/acme.c b/src/cmd/acme/acme.c
index 8d0413fa..7913eb1c 100644
--- a/src/cmd/acme/acme.c
+++ b/src/cmd/acme/acme.c
@@ -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)
diff --git a/src/cmd/acme/dat.h b/src/cmd/acme/dat.h
index 789ce1ca..fe4b0601 100644
--- a/src/cmd/acme/dat.h
+++ b/src/cmd/acme/dat.h
@@ -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*) */
diff --git a/src/cmd/acme/text.c b/src/cmd/acme/text.c
index 37613d80..a69b46fe 100644
--- a/src/cmd/acme/text.c
+++ b/src/cmd/acme/text.c
@@ -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: