Commit Diff


commit - 5eead98e71ca5d7df5797fc04371848e6ae04f4f
commit + d8c78a8d560420c0f3996ed264098c6d26a27ac5
blob - 111b9a9983825f6fe5aebdcb3955330de108ad68
blob + c3b0fbacabae5e4504efd8b66031977873c70013
--- src/cmd/acme/acme.c
+++ src/cmd/acme/acme.c
@@ -27,6 +27,7 @@ char		wdir[512] = ".";
 Reffont	*reffonts[2];
 int		snarffd = -1;
 int		mainpid;
+int		swapscrollbuttons = FALSE;
 
 enum{
 	NSnarf = 1000	/* less than 1024, I/O buffer size */
@@ -102,6 +103,9 @@ threadmain(int argc, char *argv[])
 		if(loadfile == nil)
 			goto Usage;
 		break;
+	case 'r':
+		swapscrollbuttons = TRUE;
+		break;
 	case 'W':
 		winsize = ARGF();
 		if(winsize == nil)
@@ -562,6 +566,12 @@ mousethread(void *v)
 			barttext = t;
 			if(t->what==Body && ptinrect(m.xy, t->scrollr)){
 				if(but){
+					if(swapscrollbuttons){
+						if(but == 1)
+							but = 3;
+						else if(but == 3)
+							but = 1;
+					}
 					winlock(w, 'M');
 					t->eq0 = ~0;
 					textscroll(t, but);
blob - 9db712869c54d633576011e120c20c1fbeb0a9ac
blob + 97953325984a53687f29ad9df3e50979dee987cb
--- src/cmd/acme/dat.h
+++ src/cmd/acme/dat.h
@@ -515,6 +515,7 @@ Text			*mousetext;	/* global because Text.close needs 
 Text			*typetext;		/* global because Text.close needs to clear it */
 Text			*barttext;		/* shared between mousetask and keyboardthread */
 int			bartflag;
+int			swapscrollbuttons;
 Window		*activewin;
 Column		*activecol;
 Buffer		snarfbuf;