| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
| |
Add a flag for jobs that shouldn't be freed after they've died and use it for
status jobs, then only kill those jobs when status-left, status-right or
set-titles-string is changed.
Fixes problems with changing options from inside #().
|
|
|
|
|
| |
tabs are better; ok nicm
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Reference count clients and sessions rather than relying on a saved index for
cmd-choose-*.
|
|
|
|
|
|
| |
Accept -l to make it easier for people who use tmux as a login shell to use
$SHELL. Originally from martynas@, tweaked by me.
|
|
|
|
|
| |
Tag a few missed printf-like functions and fix a missing "%s".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switch tmux to use imsg. This is the last major change to make the
client-server protocol more resilient and make the protocol versioning work
properly. In future, the only things requiring a protocol version bump will be
changes in the message structs, and (when both client and server have this
change) mixing different versions should nicely report an error message.
As a side effect this also makes the code tidier, fixes a problem with the way
errors reported during server startup were handled, and supports fd passing
(which will be used in future).
Looked over by eric@, thanks.
Please note that mixing a client with this change with an older server or vice
versa may cause tmux to crash or hang - tmux should be completely exited before
upgrading.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the way the grid is stored, previously it was:
- a two-dimensional array of cells;
- a two-dimensional array of utf8 data;
- an array of line lengths.
Now it is a single array of a new struct grid_line each of which represents a
line and contains the length and an array of cells and an array of utf8 data.
This will make it easier to add additional per-line members, such as flags.
|
|
|
|
|
|
| |
If select-layout is not given an argument, reapply the last layout used in the
window, if any.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
maintain and is only going to get worse as more are used. So instead, add a new
uint64_t member to cmd_entry which is a bitmask of upper and lowercase options
accepted by the command.
This means new single character options can be used without the need to add it
explicitly to the list.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Get rid of vis.* in favour of a small replacement function.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
issues - particularly, don't mix with manual pane resizing and be careful when
viewing from multiple clients; generally cycling the layout a few times will
fix most problems. Getting this in for testing while I think about how to deal
with manual mode.
Split window as normal and cycle the layouts with C-b space. Some of the
layouts will work better when swap-pane comes along.
|
| |
|
| |
|
| |
|
|
|
|
| |
command line.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
term stuff a bit.
|