summaryrefslogtreecommitdiff
path: root/sys/src/cmd/rio
diff options
context:
space:
mode:
authorkvik <kvik@a-b.xyz>2020-10-04 22:45:22 +0200
committerkvik <kvik@a-b.xyz>2020-10-04 22:45:22 +0200
commit6f76d0030034303e753e359c05a7d630bbb42aed (patch)
tree4bf49ddbd14af4d6de730a600dec6fa8f96a95f7 /sys/src/cmd/rio
parent2aff96f17c4127617a48f75032c13e19cd3eb4a9 (diff)
rio: move the code for 'send' into a function
Makes the code a bit nicer and allows reusing wsend() in patches.
Diffstat (limited to 'sys/src/cmd/rio')
-rw-r--r--sys/src/cmd/rio/dat.h1
-rw-r--r--sys/src/cmd/rio/rio.c16
-rw-r--r--sys/src/cmd/rio/wind.c20
3 files changed, 22 insertions, 15 deletions
diff --git a/sys/src/cmd/rio/dat.h b/sys/src/cmd/rio/dat.h
index 8ae7e41e2..1f3768450 100644
--- a/sys/src/cmd/rio/dat.h
+++ b/sys/src/cmd/rio/dat.h
@@ -210,6 +210,7 @@ void wresize(Window*, Image*);
void wscrdraw(Window*);
void wscroll(Window*, int);
void wselect(Window*);
+void wsend(Window*);
void wsendctlmesg(Window*, int, Rectangle, void*);
void wsetcursor(Window*, int);
void wsetname(Window*);
diff --git a/sys/src/cmd/rio/rio.c b/sys/src/cmd/rio/rio.c
index 883132a07..a42721fac 100644
--- a/sys/src/cmd/rio/rio.c
+++ b/sys/src/cmd/rio/rio.c
@@ -775,21 +775,7 @@ button2menu(Window *w)
break;
case Send:
- getsnarf();
- wsnarf(w);
- if(nsnarf == 0)
- break;
- if(w->rawing){
- waddraw(w, snarf, nsnarf);
- if(snarf[nsnarf-1]!='\n' && snarf[nsnarf-1]!='\004')
- waddraw(w, L"\n", 1);
- }else{
- winsert(w, snarf, nsnarf, w->nr);
- if(snarf[nsnarf-1]!='\n' && snarf[nsnarf-1]!='\004')
- winsert(w, L"\n", 1, w->nr);
- }
- wsetselect(w, w->nr, w->nr);
- wshow(w, w->nr);
+ wsend(w);
break;
case Scroll:
diff --git a/sys/src/cmd/rio/wind.c b/sys/src/cmd/rio/wind.c
index 2aa3dd715..808183817 100644
--- a/sys/src/cmd/rio/wind.c
+++ b/sys/src/cmd/rio/wind.c
@@ -1798,3 +1798,23 @@ wcontents(Window *w, int *ip)
{
return runetobyte(w->r, w->nr, ip);
}
+
+void
+wsend(Window *w)
+{
+ getsnarf();
+ wsnarf(w);
+ if(nsnarf == 0)
+ return;
+ if(w->rawing){
+ waddraw(w, snarf, nsnarf);
+ if(snarf[nsnarf-1]!='\n' && snarf[nsnarf-1]!='\004')
+ waddraw(w, L"\n", 1);
+ }else{
+ winsert(w, snarf, nsnarf, w->nr);
+ if(snarf[nsnarf-1]!='\n' && snarf[nsnarf-1]!='\004')
+ winsert(w, L"\n", 1, w->nr);
+ }
+ wsetselect(w, w->nr, w->nr);
+ wshow(w, w->nr);
+}