Commit graph

35 commits

Author SHA1 Message Date
cinap_lenrek 03bcc1520a vt: fix backup/forward after resize 2018-09-27 16:08:51 +02:00
cinap_lenrek b74ce50a1c vt: implement word select 2018-09-27 15:24:41 +02:00
cinap_lenrek 8c7a4e28d5 vt: make selecting() wait until all buttons are lifted avoiding menu when chording 2018-09-20 21:25:38 +02:00
cinap_lenrek b9796e0774 vt: implement line selection by double click 2018-09-20 21:07:10 +02:00
cinap_lenrek 2e9835e771 vt: fix selection past baseline (thanks BurnZeZ) 2018-09-04 20:55:10 +02:00
cinap_lenrek 217e8a0619 vt: fix selrange() to recover whitespace indention 2018-09-03 22:37:45 +02:00
cinap_lenrek 676298b16b vt: get rid of "clear" menu entry, fix 24x80 resize, reset selection on setdim(), document snarf/plumb 2018-09-03 21:51:32 +02:00
cinap_lenrek 80cd634c4d vt: fix plumbsel(), snarfsel()
- plumbsel()
	- remove debug prints
	- use smalloc() to convert to bytes
	- fix spurious -1 close of plumb fd

- snarfsel()
	- fix rune buffer leak in open error case
2018-09-03 20:54:26 +02:00
cinap_lenrek de9aa721f6 vt: implement proper selections (thanks Ori_B)
Ori Bernstein wrote:
> I finally got around to taking another shot at this vt patch. This change
> gets rid of implicit snarfing, and instead makes selection the way you
> select text for snarfing or plumbing. Select, then use a menu entry.
>
> It would probably be nice to have double click to expand the selection,
> rio-style, along with plumbing implicitly taking the current word, but
> that can be a separate patch.
>
> This change also punts on scrolling for simplicity -- it clears the
> selection instead of trying to handle the cases where the selection
> goes offscreen.

little amendments:

- fix line selection (point min/max inversion)
- clear selection when switching linesel/blocksel
- move selection on scroll
2018-09-03 20:05:26 +02:00
cinap_lenrek 67d9c6b2f9 vt: block when sending input to host (fixes truncated paste) 2017-10-20 20:31:30 +02:00
cinap_lenrek c6359c3090 vt: turn off nl -> nl+cr translation default in raw mode, don't scroll more than screen height 2017-08-22 22:48:01 +02:00
cinap_lenrek c4fd860a56 vt: block selection mode for snarf 2017-08-20 22:18:09 +02:00
cinap_lenrek b28c3db578 vt: implement /dev/cons and /dev/consctl as a fileserver, winch, incremental redraw
we used to bind a pipe to /dev/cons and /dev/consctl with some
shared segment hack to pass tty info arround. now we implement
this as a fileserver.

add support for "winchon"/"winchoff" ctl message to enable interrupt
on window size change. (used by ssh)

keep track of fullscreen scrolls, avoiding redrawing the whole
screen each time.
2017-08-20 19:22:30 +02:00
cinap_lenrek 4be612946f vt: fix silly bug causing characters be drawn one at a time 2017-08-09 18:53:48 +02:00
cinap_lenrek 1dc5f9222a vt: don't flush while there is keyboard input available 2017-05-20 14:45:47 +02:00
cinap_lenrek 83d5c827b7 vt: handle underline attribute 2017-04-22 22:52:34 +02:00
cinap_lenrek 13a74150ac vt: handle nocolor flag and reversed background colors 2017-04-22 22:19:17 +02:00
cinap_lenrek c029a0c913 vt: handle insert/delete/home/end keys for vt220/xterm 2017-04-22 21:07:53 +02:00
cinap_lenrek f2b7f24e4e vt: handle application/normal mode (really fixes cursor keys) 2017-04-22 20:16:07 +02:00
cinap_lenrek 5d7a77cf57 vt: fix xterm cursor keys 2017-04-22 18:01:49 +02:00
cinap_lenrek c5b2927250 vt: fix background drawing 2017-04-22 02:41:00 +02:00
cinap_lenrek bef681b892 vt: cursoron, don't resize winow when replying history 2017-04-19 22:34:47 +02:00
cinap_lenrek 283a1c0788 vt: but not too fast :-)
if drawing can't keep up with the host, make sure we
eventually redraw the screen and check for user events.
2017-04-19 02:18:28 +02:00
cinap_lenrek 219050cc36 vt: make it fast 2017-04-19 01:46:20 +02:00
cinap_lenrek db729cbb50 vt: send interrupt on exit, open logfile OCEXEC, run host after environment got exported, send rest of arguments to host 2017-04-18 03:13:15 +02:00
cinap_lenrek 378866d6d1 vt: allow for a bit of buffering 2017-04-18 00:21:51 +02:00
cinap_lenrek 1333b4d14e vt: convert from event to threads
the event library doesnt do any flow control. if the host
keeps sending data while the user is mousing arround,
extract() will collect the data until memory fills up.

so instead we abandon the event library and convert
the program to use channels.
2017-04-18 00:18:03 +02:00
cinap_lenrek ddc6c16515 vt: implement snarf support 2017-04-17 05:12:07 +02:00
BurnZeZ dacebbb2e7 vt: add -r flag to start in raw mode 2016-03-01 19:17:54 -05:00
cinap_lenrek b831ec005b vt: utf-8 support 2013-10-27 19:05:40 +01:00
cinap_lenrek 6c758d94bf vt: dont pollute the outer environment (thanks mischief!) 2013-10-02 02:25:50 +02:00
cinap_lenrek bf10f672ec vt: fix off by one memory corruption
account for the final 0 byte in host_buf.
2013-08-11 08:34:34 +02:00
cinap_lenrek 00daf47137 vt: on resize, restore screen using history buffer 2012-11-10 07:56:39 +01:00
Taru Karttunen a9060cc06b Import sources from 2011-03-30 iso image - lib 2011-03-30 19:35:09 +03:00
Taru Karttunen e5888a1ffd Import sources from 2011-03-30 iso image 2011-03-30 15:46:40 +03:00