| Commit message (Collapse) | Author | Age |
... | |
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Pass the ACS border characters through tty_get_acs so they appear correctly on
terminals which don't use the standard set.
|
|
|
|
|
| |
Don't leak when rollling buffers off when the paste buffer limit is reached.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
on Linux use -lncurses instead of -lcurses.
Also use -lncurses on NetBSD because they are only now realising that
supporting the 20-year-old terminfo API in their libcurses might be nice, and
so far none of the releases do.
|
|
|
|
|
| |
C99, so use -std=c99 on Linux.
|
| |
|
|
|
|
|
| |
Plug some memory leaks.
|
| |
|
|
|
|
|
|
| |
Don't babysit people and let them try to load /dev/zero or (more useful)
/dev/null if they want.
|
|
|
|
|
| |
Remove some dead code found by clang.
|
|
|
|
|
| |
tweak previous;
|
|
|
|
|
|
| |
Similar changes for server_msg_dispatch: use a switch instead of a lookup
table and merge smaller functions inline.
|
|
|
|
|
|
|
|
|
|
|
|
| |
There aren't many client message types or code to handle them so get rid of
the lookup table and use a switch, merge the tiny handler functions into it,
and move the whole lot to client.c.
Also change client_msg_dispatch to consume as many messages as possible and
move the call to it to the right place so it checks for signals afterwards.
Prompted by suggestions from eric@.
|
|
|
|
|
|
| |
Tell the server when the client gets SIGTERM so it can clean up the terminal
properly, rather than just exiting.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Merge pane number into the target specification for pane commands. Instead of
using -p index, a target pane is now addressed with the normal -t window form
but suffixed with a period and a pane index, for example :0.2 or
mysess:mywin.1. An unadorned number such as -t 1 is tried as a pane index in
the current window, if that fails the same rules are followed as for a target
window and the current pane in that window used.
As a side-effect this now means that swap-pane can swap panes between
different windows.
Note that this changes the syntax of the break-pane, clear-history, kill-pane,
resize-pane, select-pane and swap-pane commands.
|
|
|
|
|
| |
new sentence, new line;
|
|
|
|
|
|
| |
Add a mode-mouse option to prevent tmux taking over the mouse in choice or
copy modes.
|
|
|
|
|
|
|
|
|
|
|
| |
Add an additional heuristic to work out the current session when run from the
command line. The name of all slave ptys in the server is known, so if the
client was run on a tty, look for any sessions containing that tty and use the
most recently created.
This is more reliable than looking at $TMUX if windows have been moved or
linked between sessions.
|
|
|
|
|
|
| |
Rename struct hdrtype to msgtype which is a better name and can be used even
when struct hdr disappears.
|
|
|
|
|
|
| |
Taking account of the "s, 22 not 24 is the maximum length of #T in
status-right to prevent the date being cut off.
|
|
|
|
|
|
| |
Final pieces of mode key rebinding: bind-key and unbind-key now accept a -t
argument to modify a table.
|
|
|
|
|
| |
Accept and print "Enter" and "Escape" for keys rather than C-m and C-[.
|
|
|
|
|
|
|
|
| |
Next step towards customisable mode keys: build each default table of keys
into a named tree on start and use that for lookups. Also add command to string
translation tables and modify list-keys to show the mode key bindings (new
-t argument).
|
|
|
|
|
|
| |
If select-layout is not given an argument, reapply the last layout used in the
window, if any.
|
|
|
|
|
|
| |
Remove an unused entry in the mode keys command enum and rename
MODEKEYCOPY_QUIT to _CANCEL to match the others.
|
|
|
|
|
|
|
|
|
| |
Change mode key bindings from big switches into a set of tables. Rather than
lumping them all together, split editing keys from those used in choice/more
mode and those for copy/scroll mode.
Tidier and clearer, and the first step towards customisable mode keys.
|
|
|
|
|
| |
Get rid of empty mode_key_free function.
|
|
|
|
|
|
|
|
| |
Add a key to delete to end of line at the prompt (^K in emacs mode, C/D in
vi).
From Kalle Olavi Niemitalo.
|
|
|
|
|
| |
Draw UTF-8 characters under the selection correctly.
|
|
|
|
|
|
| |
Change previous-word behavior to move to the beginning of the word (matches
emacs and vi). From Kalle Olavi Niemitalo.
|
|
|
|
|
|
|
|
| |
Detect backspace by looking at termios VERASE and translate it into \177
(which matches screen's behaviour if not its termcap/terminfo entry). The
terminfo kbs cap is often wrong or missing so it can't be used, and just
assuming \177 may be wrong.
|
|
|
|
|
|
|
|
| |
Calculate the space available for the prompt buffer and the cursor position
correctly, and make it work when the screen is not wide enough.
Noticed by Kalle Olavi Niemitalo.
|
|
|
|
|
| |
accordance to OpenBSD patchset 182.
|
|
|
|
|
|
| |
Go to the next if the current best process is replaced, don't keep comparing
it with itself. Also fix process name comparison.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make all messages sent between the client and server fixed size.
This is the first of two changes to make the protocol more resilient and less
sensitive to other changes in the code, particularly with commands. The client
now packs argv into a buffer and sends it to the server for parsing, rather
than doing it itself and sending the parsed command data.
As a side-effect this also removes a lot of now-unused command marshalling
code.
Mixing a server without this change and a client with or vice versa will cause
tmux to hang or crash, please ensure that tmux is entirely killed before
upgrading.
|
| |
|
| |
|
|
|
|
|
|
| |
Set the active pane when respawning a window - fixes problems when respawning
a window with multiple panes.
|
|
|
|
|
|
| |
Use the full range of ACS line drawing characters to draw pane borders,
including intersections.
|
|
|
|
|
| |
cmd_find_index should return -2 on error.
|
|
|
|
|
|
|
| |
Simplify screen redrawing by drawing the border and background together rather
than border separately, and consolidating all the drawing characters into one
string.
|
|
|
|
|
| |
Accept lowercase c- and m- prefix as well as C- and M-.
|
|
|
|
|
|
|
| |
Permit commands to be bound to key presses without the prefix key first. The
new -n flag to bind-key and unbind-key sets or removes these bindings, and
list-key shows them in []s.
|
|
|
|
|
|
|
|
|
|
|
| |
up-pane and down-pane no longer auto-repeat; update the description of
repeat-time accordingly. ok nicm@
if you prefer old behaviour;
bind -r Up up-pane
bind -r Down down-pane
|
| |
|