diff options
author | kvik <kvik@a-b.xyz> | 2020-10-04 22:45:22 +0200 |
---|---|---|
committer | kvik <kvik@a-b.xyz> | 2020-10-04 22:45:22 +0200 |
commit | 6f76d0030034303e753e359c05a7d630bbb42aed (patch) | |
tree | 4bf49ddbd14af4d6de730a600dec6fa8f96a95f7 /sys/src/cmd/rio | |
parent | 2aff96f17c4127617a48f75032c13e19cd3eb4a9 (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.h | 1 | ||||
-rw-r--r-- | sys/src/cmd/rio/rio.c | 16 | ||||
-rw-r--r-- | sys/src/cmd/rio/wind.c | 20 |
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); +} |