aboutsummaryrefslogtreecommitdiff
path: root/server.c
Commit message (Collapse)AuthorAge
...
| * Add a new display-panes command, with two options (display-panes-colour andNicholas Marriott2009-08-31
| | | | | | | | | | display-panes-time), which displays a visual indication of the number of each pane.
| * Don't call tty_free unless the client is a terminal, otherwise tty_init hasn'tNicholas Marriott2009-08-31
| | | | | | | | been called and it may end up doing close(0). From Kalle Olavi Niemitalo.
| * When using source-file, run the commands in the context of the source-fileNicholas Marriott2009-08-23
| | | | | | | | | | command rather than with no context. This makes things like attach work from a file.
| * Whoops, getting the comparison the right way round is usually recommended.Nicholas Marriott2009-08-18
| |
| * options_get_number() is relatively expensive and a check for dead panes happensNicholas Marriott2009-08-18
| | | | | | | | | | a lot more often than actually finding one, so instead of getting the option for every check, get it for every dead window found.
| * Reset attributes as well as scroll region before poll(2) and add a big commentNicholas Marriott2009-08-14
| | | | | | | | explaining why.
| * Initialise log_fd to -1, prevents spurious disconnection of the client when itNicholas Marriott2009-08-11
| | | | | | | | | | | | ends up as fd 0 (likely if the server is started with "tmux start"). Also add some extra debugging messages to server.c.
| * Drop the no_stop argument to tty_close and tty_free in favour of a flag in theNicholas Marriott2009-08-11
| | | | | | | | tty struct.
| * Switch tmux to use imsg. This is the last major change to make theNicholas Marriott2009-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Reset the attributes after drawing all or part of the screen, and reset theNicholas Marriott2009-08-10
| | | | | | | | | | | | region before poll(2). This reduces (but does not eliminate) the chance of the attributes not being normal if tmux is disconnected without warning (ssh ~., reboot from inside, etc).
| * If there is an error in the configuration file, don't just exit(1) as this canNicholas Marriott2009-08-07
| | | | | | | | | | | | | | | | | | | | | | cause the client to hang. Instead, send the error message, then mark the client as bad and start a normal shutdown so the server exits once the error is written. This also allows some code duplicating daemon(3) to be trimmed and logging to begin earlier. Prompted by Theo noticing the behaviour on error wasn't documented.
| * Next step towards customisable mode keys: build each default table of keys intoNicholas Marriott2009-07-28
| | | | | | | | | | | | a named tree on start and use that for lookups. Also add command to string translation tables and modify list-keys to show the the mode key bindings (new -t argument).
| * Permit commands to be bound to key presses without the prefix key first. TheNicholas Marriott2009-07-24
| | | | | | | | | | new -n flag to bind-key and unbind-key sets or removes these bindings, and list-key shows them in []s.
| * Make some functions which return unused values void (mostly found by lint) andNicholas Marriott2009-07-21
| | | | | | | | tweak a redundant expression in window_pane_set_mode.
| * Display the number of failed password attempts (if any) when the server isNicholas Marriott2009-07-20
| | | | | | | | locked. From Tom Doherty.
| * Improved layout code.Nicholas Marriott2009-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each window now has a tree of layout cells associated with it. In this tree, each node is either a horizontal or vertical cell containing a list of other cells running from left-to-right or top-to-bottom, or a leaf cell which is associated with a pane. The major functional changes are: - panes may now be split arbitrarily both horizontally (splitw -h, C-b %) and vertically (splitw -v, C-b "); - panes may be resized both horizontally and vertically (resizep -L/-R/-U/-D, bound to C-b left/right/up/down and C-b M-left/right/up/down); - layouts are now applied and then may be modified by resizing or splitting panes, rather than being fixed and reapplied when the window is resized or panes are added; - manual-vertical layout is no longer necessary, and active-only layout is gone (but may return in future); - the main-pane layouts now reduce the size of the main pane to fit all panes if possible. Thanks to all who tested.
| * Add three new session options: visual-activity, visual-bell, visual-content. IfNicholas Marriott2009-07-18
| | | | | | | | | | | | | | | | | | these are enabled (and the monitor-activity, bell-actio and monitor-content options are configurated appropriately), when activity, a bell, or content is detected, a message is shown. Also tidy up the bell/activity/content code in server.c slightly and fix a couple of errors.
| * Instead of faking up a status line in status_redraw, use the same code toNicholas Marriott2009-07-14
| | | | | | | | | | | | redraw it as to draw the entire screen, just skip all lines but the last. This makes horizontal split redraw properly when the status line is off.
| * Creating a key binding which replaces itself (such as "bind x bind x lsw")Nicholas Marriott2009-07-12
| | | | | | | | | | | | | | | | | | | | frees the command list bound to the key while it is still being executed, leading to a use after free. To prevent this, create a dead keys list and defer freeing replaced or removed key bindings until the main loop when the key binding will have finished executing. Found by Johan Friis when creating a key binding to reload his configuration file.
| * If it exist, load a system-wide configuration file /etc/tmux.conf before anyNicholas Marriott2009-07-12
| | | | | | | | user-specified one.
| * Rename the global options variables to be shorter and to make session optionsNicholas Marriott2009-07-07
| | | | | | | | | | clear. No functional change, getting this out of the way to make later options changes easier.
| * After logging (if enabled) is switched to file, there is no reason to keepNicholas Marriott2009-06-26
| | | | | | | | stdin/stdout/stderr active, so dup them to /dev/null.
| * Remove some dead assignments, found by sthen with clang.Nicholas Marriott2009-06-25
| |
| * Change find-window and monitor-content to use fnmatch(3). For convenience andNicholas Marriott2009-06-24
| | | | | | | | | | | | | | | | | | compatibility, *s are implicitly added at the start and end of the pattern. Also display the line number and the entire line in the results, and lose the nasty section_string function and the now empty util.c file. Initially from Tiago Cunha.
| * Make remain-on-exit work again when there is only one pane left, which wasNicholas Marriott2009-06-24
| | | | | | | | | | broken sometime during the pane/layout changes. Reported/tested by Iain Morgan, thanks.
| * Import tmux, a terminal multiplexor allowing (among other things) a singleNicholas Marriott2009-06-01
| | | | | | | terminal to be switched between several different windows and programs displayed on one terminal be detached from one terminal and moved to another. ok deraadt pirofti
* Sync OpenBSD patchset 1150:Tiago Cunha2012-07-11
| | | | | xfree is not particularly helpful, remove it. From Thomas Adam.
* Sync OpenBSD patchset 1092:Tiago Cunha2012-04-12
| | | | | | Stop accepting new clients for 1 second on EMFILE/ENFILE. Based on ongoing fixes to other daemons by Theo.
* Sync OpenBSD patchset 1043:Tiago Cunha2012-03-18
| | | | | | | Use a lock file and flock() to serialize server start, avoids problems when running a bunch of tmux from cron at the same time. Based on a diff from Tim Ruehsen.
* Expand the Id keyword. Tiago Cunha2011-07-09
|
* PatchSet 870Nicholas Marriott2011-04-06
| | | | | | | | | | | | Date: 2011/03/27 21:27:26 Author: nicm Branch: HEAD Tag: (none) Log: Give each pane created in a tmux server a unique id (starting from 0), put it in the TMUX_PANE environment variable and accept it as a target. Suggested by and with testing and tweaks from Ben Boeckel.
* Sync OpenBSD patchset 854:Tiago Cunha2011-02-15
| | | | | Use LIST_* not SLIST_*.
* Sync OpenBSD patchset 834:Tiago Cunha2011-01-21
| | | | | | | Move all calls to fcntl(...O_NONBLOCK) into a function and clear the flag on the stdio file descriptors before closing them (fixes things like "tmux ls && cat").
* Sync OpenBSD patchset 819:Tiago Cunha2011-01-03
| | | | | | | | | Don't reset the activity timer for unattached sessions every second, this screws up the choice of most-recently-used. Instead, break the time update into a little function and do it when the session is attached. Pointed out by joshe@.
* Global paste buffers instead of per-session which renders copy-buffer useless.Tiago Cunha2010-12-30
| | | | | As a consequence buffer-limit is now a server option.
* Sync OpenBSD patchset 806:Tiago Cunha2010-12-22
| | | | | | | | | | | Store sessions in an RB tree by name rather than a list, this is tidier and allows them to easily be shown sorted in various lists (list-sessions/choose-sessions). Keep a session index which is used in a couple of places internally but make it an ever-increasing number rather than filling in gaps with new sessions.
* Put setproctitle back under HAVE_SETPROCTITLE.Nicholas Marriott2010-10-24
|
* Sync OpenBSD patchset 777:Tiago Cunha2010-10-24
| | | | | | Merge the before and after attach client code into one in client.c (instead of two in tmux.c and client.c).
* Sync OpenBSD patchset 775:Tiago Cunha2010-10-24
| | | | | | Trying to set FD_CLOEXEC on every fd is a lost cause, just use closefrom() before exec.
* Sync OpenBSD patchset 766:Tiago Cunha2010-10-09
| | | | | | | | | | | | | | | Two new options: - server option "exit-unattached" makes the server exit when no clients are attached, even if sessions are present; - session option "destroy-unattached" destroys a session once no clients are attached to it. These are useful for preventing tmux remaining in the background where it is undesirable and when using tmux as a login shell to keep a limit on new sessions.
* Sync OpenBSD patchset 765:Tiago Cunha2010-10-09
| | | | | | Modify the permissions on the socket when adding or removing +x to show attached sessions, rather than replacing them.
* Sync OpenBSD patchset 751:Tiago Cunha2010-08-29
| | | | | | | Do not call event_del() for signals after fork(), just use sigaction() directly instead - calling libevent functions after fork() w/o event_reinit() is a bad idea, even if in this case it was harmless.
* Sync OpenBSD patchset 722:Tiago Cunha2010-06-22
| | | | | | | Give tmux sockets (but not the containing folder) group permissions. This allows hardlinks to the sockets to be used more easily.
* Fix bad merge, from Romain Francoise.Nicholas Marriott2010-05-16
|
* Sync OpenBSD patchset 696:Tiago Cunha2010-05-14
| | | | | | | Make signal handler setup/teardown two common functions instead of six, and reset SIGCHLD after fork to fix problems with some shells. From Romain Francoise.
* there can be only one rpathbufNicholas Marriott2010-04-08
|
* Sync nit.Nicholas Marriott2010-04-06
|
* Merge output (more) and copy modes into one single mode (called copy).Micah Cowan2010-04-05
|
* Unused variable.Nicholas Marriott2010-03-16
|
* Sync OpenBSD patchset 640:Tiago Cunha2010-02-08
| | | | | Use the array.h code for the causes list.