| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
[ is a punctuation character and should be escaped with Ql. Although the
current groff version we have seems to handle it fine, other versions are not
so tolerant.
|
|
|
|
|
| |
Bring a comment into line with reality.
|
| |
|
|
|
|
|
| |
-a option to kill all except current pane. From Tiago Cunha, thanks!
|
|
|
|
|
|
|
| |
Support the bright fg/bg colour SGR 90-97 and 100-107.
Reported by Tim Allen.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Redraw checks have to after handling input or pane redraw flags set by key
presses will not be acted on.
|
|
|
|
|
|
| |
The client buffers have to be checked after every event in order to catch the
escape timers and properly reset the cursor.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Split the server code handling clients, jobs and windows off into separate
files from server.c (merging server-msg.c into the client file) and rather than
iterating over each set after poll(), allow a callback to be specified when the
fd is added and just walk once over the returned pollfds calling each callback
where needed.
More to come, getting this in so it is tested.
|
|
|
|
|
| |
Only redraw the pane when changing mode, not the entire window.
|
|
|
|
|
| |
Merge prepare_cmd into main as it is short and only called once.
|
| |
|
|
|
|
|
| |
Tidy identify message send into a separate function.
|
|
|
|
|
| |
Don't try to unsuspend a client if it isn't suspended.
|
|
|
|
|
|
| |
Client tidying: get rid of client_ctx struct in favour of two variables in
client.c, and move the functions in client-fn.c into other files.
|
|
|
|
|
| |
Unused variable.
|
|
|
|
|
| |
Remove unused function.
|
|
|
|
|
| |
Nuke dead store.
|
|
|
|
|
|
| |
Now we are correctly not redrawing the whole pane on linefeed, redo the
last-cursor-position code to move to the right position when panes reach EOL.
|
|
|
|
|
| |
Tweak descriptions for up/down pane to be clearer.
|
|
|
|
|
|
|
| |
Don't redraw the scroll region on linefeed/reverse index unless it is necessary
(the cursor is at the bottom/top). Should fix slow cursor movement when using
vi in a pane spotted by pirofti@.
|
|
|
|
|
|
|
|
|
| |
Some terminals don't correctly clear their let's-wrap flag after changing the
scroll region (which moves the cursor to 0,0). This means that if the cursor
was at the edge of the screen, any further output after scroll region change
incorrectly causes a line wrap. Add a workaround to move the cursor to position
0 if it is at the screen edge before changing scroll region.
|
|
|
|
|
| |
%zu not %u, doh.
|
|
|
|
|
| |
Correctly nuke the EOL $ marker when scrolling, reported by martynas@, thanks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Try to reduce the UTF-8 mess.
Get rid of passing around u_char[4]s and define a struct utf8_data which has
character data, size (sequence length) and width. Move UTF-8 character
collection into two functions utf8_open/utf8_append in utf8.c which fill in
this struct and use these functions from input.c and the various functions in
screen-write.c.
Space for rather more data than is necessary for one UTF-8 sequence is in the
utf8_data struct because screen_write_copy is still nasty and needs to reinject
the character (after combining) into screen_write_cell.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
UTF-8 combined character fixes.
Thai can have treble combinations (1 x width=1 then 2 x width=0) so bump the
UTF-8 cell data size to 9 and alter the code to allow this.
Also break off the combining code into a separate function, handle any further
combining beyond the buffer size by replacing the character with _s, and when
redrawing the UTF-8 character don't assume the first part has just been
printed, redraw the entire line.
|
|
|
|
|
|
| |
Move the check for whether to force a line wrapper lower down into the tty code
where it has access to the tty width, which is what should have been checked.
|
|
|
|
|
| |
Nuke stray blank line.
|
|
|
|
|
|
| |
Stop updating the screen when not in output mode, stops copy mode getting
confused.
|
|
|
|
|
|
|
|
| |
Always move the cursor position on !xenl terminals, since there is no invisible
last cursor position.
Also nuke an unused variable.
|
|
|
|
|
|
| |
Don't print wide characters at screen width - 1. Matches uterm behaviour and
is probably a better idea anyway.
|
|
|
|
|
|
|
|
| |
Instead of having a complicated check to see if the cursor is in the last
position to avoid an explicit wrap, actually move it there.
Some UTF-8 fixes to come.
|
|
|
|
|
|
|
| |
When checking whether the region will scroll and the cursor position is thus
unsuitable for using CUD/CUU, check the current cursor position not the target
position.
|
|
|
|
|
| |
recommended. DOH.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The pane pty name isn't useful for anything so show the pane number instead.
|
| |
|
|
|
|
|
|
|
| |
From Todd Carson.
Tweaked by me to nuke (void) casts. Say no to lint appeasement! ;-)
|
|
|
|
|
|
| |
cmd_find_client shouldn't die when there is an empty slot in the clients
array. DOH.
|