Tiago Cunha
04db3c6211
Sync OpenBSD patchset 399:
...
Don't run through the column unchanged case if the row was unchanged but there
were no suitable optimisations, instead make it an else to fall through to
absolute addressing.
2009-10-15 01:38:09 +00:00
Tiago Cunha
858b8b190b
Sync OpenBSD patchset 398:
...
If the vertical cursor movement crosses the scroll region, CUU and CUD
shouldn't be used even if VPA isn't present - in that case CUP should be used.
2009-10-15 01:36:53 +00:00
Tiago Cunha
7af01a4afb
Sync OpenBSD patchset 397:
...
Wrap a couple of long lines.
2009-10-15 01:35:35 +00:00
Tiago Cunha
9e4a3d50f0
Sync OpenBSD patchset 396:
...
Use absolute movement if right at the end of the line as it isn't a reliable
place to move from relatively.
2009-10-15 01:34:28 +00:00
Tiago Cunha
44fd6f4381
Sync OpenBSD patchset 395:
...
Use relative cursor movement instead of absolute when possible and when
supported by the terminal to reduce the size of the output data (generally
about 10-20%).
2009-10-15 01:33:21 +00:00
Tiago Cunha
8ab3a3d9aa
Sync OpenBSD patchset 394:
...
Permit attributes to be turned off in #[] by prefixing with "no", for example
"noblink".
2009-10-15 01:31:38 +00:00
Tiago Cunha
8bdcc10c8f
Sync OpenBSD patchset 393:
...
Similarly add a tty_cursor_pane function to tidy up most of the calls.
2009-10-15 01:30:00 +00:00
Tiago Cunha
6369fca253
Sync OpenBSD patchset 392:
...
_absolute is redundant, just use tty_region.
2009-10-15 01:28:14 +00:00
Tiago Cunha
9b771a96f0
Sync OpenBSD patchset 391:
...
Cleanup: use two functions for region setting, one for absolute and one inside
pane.
2009-10-15 01:26:50 +00:00
Nicholas Marriott
1a3c334c75
cmd_find_client shouldn't die when there is an empty slot in the clients
...
array. DOH.
2009-10-14 20:52:28 +00:00
Nicholas Marriott
f8f2421ac3
Don't let cmd_lookup_client find clients w/o a session.
2009-10-14 13:22:24 +00:00
Nicholas Marriott
9e6d1b24c8
Support for automatic-rename for Solaris thanks to Todd Carson.
2009-10-14 10:14:21 +00:00
Nicholas Marriott
adad557499
Don't allow cmd_lookup_client to test clients without a session.
2009-10-14 09:29:10 +00:00
Nicholas Marriott
ad566a86de
Move lines into the history when scrolling even if the scroll region is not
...
the entire screen.
Allows ircII users to see history, prompted by naddy.
2009-10-13 15:38:37 +00:00
Nicholas Marriott
71dc6e04e8
Handle DECCOLM by just emulating its side-effect of clearing the screen.
2009-10-13 15:23:13 +00:00
Nicholas Marriott
587e7127eb
+.
2009-10-13 14:35:06 +00:00
Nicholas Marriott
6b522bd770
+.
2009-10-13 14:27:57 +00:00
Nicholas Marriott
edc901d107
Lots of stuff is done done done.
2009-10-13 13:48:47 +00:00
Nicholas Marriott
38df960e68
Add mode keys to move the cursor to the top, middle and bottom of the screen.
...
H/M/L in vi mode and M-R/M-r in emacs (bottom of screen not bound in emacs).
2009-10-13 13:45:56 +00:00
Nicholas Marriott
0907ca1931
Do this in a better way - print messages when exiting with nonzero.
...
Also remove the login shell information from server-info, only the client
should care about it.
2009-10-13 13:15:26 +00:00
Nicholas Marriott
760e39e405
Don't print exit messages when used as a login shell, requested by martynas@ a
...
while back.
2009-10-13 13:11:06 +00:00
Nicholas Marriott
5d78371628
Don't try to use \n across scroll region when doing \r\n either.
2009-10-13 08:37:15 +00:00
Nicholas Marriott
9294cb099f
When a session is unattached, reset its activity timer to prevent it locking
...
instantly when reattached.
2009-10-13 06:14:08 +00:00
Nicholas Marriott
4dcb5040a0
Instead of using something sort of similar for both newline checks, use
...
something the same. Doesn't fix the bug I'm looking for though :-/.
2009-10-13 00:44:16 +00:00
Nicholas Marriott
e88a2ba7d4
+.
2009-10-12 23:13:06 +00:00
Nicholas Marriott
d7626cd9d7
When drawing lines that have wrapped naturally, don't force a newline but
...
permit them to wrap naturally again. This allows terminals that use this to
guess where lines start and end for eg mouse selecting (like xterm) to work
correctly.
This was another long-standing issue raised by several people over the last
while.
Thanks to martynas@ for much testing. This was not trivial to get right so
bringing it in for wider testing and adn to fix any further glitches in-tree.
2009-10-12 17:19:47 +00:00
Nicholas Marriott
8608c6970d
When backspace is received at the beginning of a line and the previous line was
...
wrapped, move the cursor back up to the end of the previous line.
Another one of the forgotten persons requested this quite a while ago (I need
to start noting names on todo items...) when it was quite hard to
implement. Now it is easy and I don't see it can do any harm, so hey presto...
2009-10-12 16:59:55 +00:00
Nicholas Marriott
693b3d03e6
Don't run through the column unchanged case if the row was unchanged but there
...
were no suitable optimisations, instead make it an else to fall through to
absolute addressing.
2009-10-12 16:41:02 +00:00
Nicholas Marriott
eb9826f65d
If the vertical cursor movement crosses the scroll region, CUU and CUD
...
shouldn't be used even if VPA isn't present - in that case CUP should be used.
2009-10-12 16:37:43 +00:00
Nicholas Marriott
56157444de
Wrap a couple of long lines.
2009-10-12 16:33:39 +00:00
Nicholas Marriott
0aab5811ca
Use absolute movement if right at the end of the line as it isn't a reliable
...
place to move from relatively.
2009-10-12 14:54:19 +00:00
Nicholas Marriott
687c4a9fab
Use relative cursor movement instead of absolute when possible and when
...
supported by the terminal to reduce the size of the output data (generally
about 10-20%).
2009-10-12 13:01:18 +00:00
Nicholas Marriott
33ae063cae
Permit attributes to be turned off in #[] by prefixing with "no", for example
...
"noblink".
2009-10-12 11:08:02 +00:00
Nicholas Marriott
762459954f
Similarly add a tty_cursor_pane function to tidy up most of the calls.
2009-10-12 09:29:58 +00:00
Nicholas Marriott
972a6f5656
_absolute is redundant, just use tty_region.
2009-10-12 09:16:59 +00:00
Nicholas Marriott
f05b32f7ad
Cleanup: use two functions for region setting, one for absolute and one inside
...
pane.
2009-10-12 09:09:35 +00:00
Tiago Cunha
629afba526
Reduce diff with OpenBSD.
2009-10-12 00:49:06 +00:00
Tiago Cunha
f92cc84631
Sync OpenBSD patchset 390:
...
Like linefeed, don't set the scroll region for reverse index unless it will be
needed.
While here, also tidy up a couple of long lines and remove an extraneous blank.
2009-10-12 00:41:00 +00:00
Tiago Cunha
6ea6d1b29f
Sync OpenBSD patchset 389:
...
punctuation fix;
2009-10-12 00:38:31 +00:00
Tiago Cunha
39afe3fc2a
Sync OpenBSD patchset 388:
...
Set the current window pointer to NULL when killing a winlink that is to be
replaced with link-window -k. This prevents it being pushed onto the last
window stack and causing a use-after-free.
Only took me an hour to find this :-/...
2009-10-12 00:37:41 +00:00
Tiago Cunha
3584fa15ec
No paths.h in here, as well.
2009-10-12 00:36:31 +00:00
Tiago Cunha
6091b051fb
Sync OpenBSD patchset 387:
...
Add a pipe-pane command to allow a pane to be piped to a shell command, for
example:
pipe-pane 'cat >~/out'
No arguments stops outputing and closes the pipe; the -o flag toggles a pipe
and on and off (useful for key bindings).
Suggested by espie@.
2009-10-12 00:35:08 +00:00
Tiago Cunha
a053aeddf8
Sync OpenBSD patchset 386:
...
Convert if-shell over to the background job framework as well.
2009-10-12 00:29:03 +00:00
Tiago Cunha
50ece89ab9
Sync OpenBSD patchset 385:
...
Remove a debugging leftover and add copyright.
2009-10-12 00:26:06 +00:00
Tiago Cunha
197f8b88bf
Sync OpenBSD patchset 384:
...
Switch run-shell over to queue the command in the background like #().
2009-10-12 00:25:25 +00:00
Tiago Cunha
c8d0608369
Sync OpenBSD patchset 383:
...
There isn't much point in having a free function if it isn't used.
Also allow a NULL tree.
2009-10-12 00:22:17 +00:00
Tiago Cunha
1b03bc2404
Sync OpenBSD patchset 382:
...
Collect status from dead jobs and don't invoke the callback until both
all input (the socket is closed) and status is available.
2009-10-12 00:21:08 +00:00
Tiago Cunha
b26ea8462e
Sync OpenBSD patchset 381:
...
Clean up by introducing a wrapper struct for mouse clicks rather than passing
three u_chars around.
As a side-effect this fixes incorrectly rejecting high cursor positions
(because it was comparing them as signed char), reported by Tom Doherty.
2009-10-12 00:18:19 +00:00
Tiago Cunha
323469723b
Sync OpenBSD patchset 380:
...
Braek some bits out of server_fill_client() that aren't really related to
polling into their own function.
2009-10-12 00:14:44 +00:00
Tiago Cunha
d7fa9bc056
Sync OpenBSD patchset 379:
...
Put all jobs on a global all_jobs list and use that in server.c instead of
running through all the clients.
2009-10-12 00:12:33 +00:00