aboutsummaryrefslogtreecommitdiff
path: root/server-fn.c
Commit message (Collapse)AuthorAge
...
* If stdin in the client is enable immediately, tmux will eat anythingNicholas Marriott2012-09-04
| | | | | | | sent to stdin before it is needed, which can be inconvenient (eg pasting commands). Instead, start with stdin disabled and reuse MSG_STDIN from server->client to mean that stdin should be enabled. Based on a diff from Chris Johnsen.
* Sync OpenBSD patchset 1150:Tiago Cunha2012-07-11
| | | | | xfree is not particularly helpful, remove it. From Thomas Adam.
* Sync OpenBSD patchset 1138:Tiago Cunha2012-06-18
| | | | | | | | | Add a skeleton mode to tmux (called "control mode") that let's tmux commands be sent and output received on stdout. This can be used to integrate with other terminal emulators and should allow some other things to be made simpler later. More to come so doesn't do much yet and deliberately not documented.
* Sync OpenBSD patchset 1118:Tiago Cunha2012-05-22
| | | | | Add a helper function to send ready message.
* Sync OpenBSD patchset 1114:Tiago Cunha2012-05-22
| | | | | | | | | | | | | Instead of passing stdin/stdout/stderr file descriptors over imsg and handling them in the server, handle them in the client and pass buffers over imsg. This is much tidier for some upcoming changes and the performance hit isn't critical. The tty fd is still passed to the server as before. This bumps the tmux protocol version so new clients and old servers are incompatible.
* Sync OpenBSD patchset 1104:Tiago Cunha2012-05-03
| | | | | | | Add a flag to move-window to renumber the windows in a session (closing any gaps) and add an option to do this automatically each time a window is killed. From Thomas Adam.
* Sync OpenBSD patchset 1069:Tiago Cunha2012-03-18
| | | | | | Add notify hooks for various events, the functions are currently empty stubs but will be filled in for control mode later. From George Nachman.
* Sync OpenBSD patchset 1057:Tiago Cunha2012-03-18
| | | | | | Check event_initialized before event_del if event may not have been set up; libevent2 complains about this. Reported by Moriyoshi Koizumi.
* Sync OpenBSD patchset 1014:Tiago Cunha2012-01-29
| | | | | | | Call bufferevent_free before closing file descriptor associated with it or bugs in $EventMechanism on $OtherOS makes libevent get it's knickers in a twist. From Dylan Alex Simon.
* Sync OpenBSD patchset 969:Tiago Cunha2011-10-23
| | | | | | Support for \e[3J to clear the history. Also send the corresponding terminfo code (E3) before locking.
* Sync OpenBSD patchset 957:Tiago Cunha2011-09-21
| | | | | | Mark dead panes with some text saying they are dead, suggested by and with help from Randy Stauner.
* Expand the Id keyword. Tiago Cunha2011-07-09
|
* Sync OpenBSD patchset 848:Tiago Cunha2011-02-14
| | | | | Set $TMUX without the session when background jobs are run.
* 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@.
* Sync OpenBSD patchset 808:Tiago Cunha2010-12-25
| | | | | | server_kill_window can modify the RB tree so don't use RB_FOREACH, fixes crash seen by Dan Harnett.
* 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.
* Sync OpenBSD patchset 802:Tiago Cunha2010-12-22
| | | | | Use pointer rather than index for the client's last session.
* Track the last session for a client and add a flag to switch-client andNicholas Marriott2010-12-11
| | | | | a key binding (L) to move a client back to its last session.
* Sync OpenBSD patchset 770:Tiago Cunha2010-10-09
| | | | | | Set cause when failing due to linking a window to itself, from Martin Pieuchot.
* Sync OpenBSD patchset 769:Tiago Cunha2010-10-09
| | | | | | Skip NULL entries in the sessions list when choosing the next session, from Simon Olofsson.
* 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 746:Tiago Cunha2010-08-11
| | | | | | Treat trying to link or move to the same window as an error to avoid removing it accidentally.
* Sync OpenBSD patchset 741:Tiago Cunha2010-08-09
| | | | | | | | | | | | | | | | | | | | When changing so that the client passes its stdout and stderr as well as stdin up to the server, I forgot one essential point - the tmux server could now be both the producer and consumer. This happens when tmux is run inside tmux, as well as when piping tmux commands together. So, using stdio(3) was a bad idea - if sufficient data was written, this could block in write(2). When that happened and the server was both producer and consumer, it deadlocks. Change to use libevent bufferevents for the client stdin, stdout and stderr instead. This is trivial enough for output but requires a callback mechanism to trigger when stdin is finished. This relies on the underlying polling mechanism for libevent to work with whatever devices to which the user could redirect stdin, stdout or stderr, hence the change to use poll(2) over kqueue(2) for tmux.
* Sync OpenBSD patchset 729:Tiago Cunha2010-07-02
| | | | | | | New option, detach-on-destroy, to set what happens to a client when the session it is attached to is destroyed. If on (the default), it is detached; if off, it is switched to the most recently active session.
* Sync OpenBSD patchset 728:Tiago Cunha2010-07-02
| | | | | Use server_destroy_session() for kill-session.
* Sync OpenBSD patchset 724:Tiago Cunha2010-06-22
| | | | | | Having a list of winlinks->alerts for each session is stupid, just store the alert flags directly in the winlink itself.
* Sync OpenBSD patchset 682:Tiago Cunha2010-04-18
| | | | | | | | If remain-on-exit is set, both the error callback and a SIGCHLD could destroy the same pane (because the first one doesn't remove it from the list of panes), causing the pane bufferevent to be freed twice. So don't free it if the fd has already been set to -1, from Romain Francoise.
* Stupid style nits.Nicholas Marriott2010-04-06
|
* Nuke unused functions.Nicholas Marriott2010-03-27
|
* Sync OpenBSD patchset 615:Tiago Cunha2010-01-25
| | | | | | When a window is destroyed, remove all links to it from each session rather than just the first. Reported by Robin Lee Powell.
* Sync OpenBSD patchset 597:Tiago Cunha2010-01-05
| | | | | | Options to set the colour of the pane borders, with different colours for the active pane.
* Sync OpenBSD patchset 591:Tiago Cunha2009-12-26
| | | | | | Fix a couple of problems with grouped sessions reported by danh: redraw properly and choose the correct last window after a window is killed.
* Sync OpenBSD patchset 581:Tiago Cunha2009-12-04
| | | | | | | Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last time now I've configured emacs to make them displayed in really annoying colours...
* Sync OpenBSD patchset 567:Tiago Cunha2009-11-28
| | | | | | Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to the rest to reduce lint output.
* Sync OpenBSD patchset 535:Tiago Cunha2009-11-14
| | | | | Destroy panes immediately rather than checking them all every loop.
* Sync OpenBSD patchset 504:Tiago Cunha2009-11-08
| | | | | Use timeout events for the identify and message timers.
* Sync OpenBSD patchset 503:Tiago Cunha2009-11-08
| | | | | | Don't reenlist the client imsg event every loop, instead have a small function to it and call it after the event triggers or after a imsg is added.
* Sync OpenBSD patchset 388:Tiago Cunha2009-10-12
| | | | | | | | | 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 :-/...
* Sync OpenBSD patchset 371:Tiago Cunha2009-10-11
| | | | | | | | | | Add "grouped sessions" which have independent name, options, current window and so on but where the linked windows are synchronized (ie creating, killing windows and so on are mirrored between the sessions). A grouped session may be created by passing -t to new-session. Had this around for a while, tested by a couple of people.
* Sync OpenBSD patchset 357:Tiago Cunha2009-10-05
| | | | | | Check for already locked/suspended clients in server_lock_client rather than its callers.
* Sync OpenBSD patchset 353:Tiago Cunha2009-09-25
| | | | | | New lock-client and lock-session commands to lock an individual client or all clients attached to a session respectively.
* Sync OpenBSD patchset 347:Tiago Cunha2009-09-23
| | | | | | | | | | | | | | | | Remove the internal tmux locking and instead detach each client and run the command specified by a new option "lock-command" (by default "lock -np") in each client. This means each terminal has to be unlocked individually but simplifies the code and allows the system password to be used to unlock. Note that the set-password command is gone, so it will need to be removed from configuration files, and the -U command line flag has been removed. This is the third protocol version change so again it is best to stop the tmux server before upgrading.
* Sync OpenBSD patchset 333:Tiago Cunha2009-09-20
| | | | | | Move some common and untidy code for window link/unlink into generic functions instead of duplicating it in move/link window..
* Sync OpenBSD patchset 332:Tiago Cunha2009-09-20
| | | | | Regularise some fatal messages.
* Sync OpenBSD patchset 324:Tiago Cunha2009-09-13
| | | | | Tidy some common code for destroying sessions into a new function.
* Sync OpenBSD patchset 316:Tiago Cunha2009-09-05
| | | | | | | | Only redraw all clients once when the backoff timer expires rather than every second all the time. Reported by Simon Nicolussi.
* - Make it compile on operating systems other than BSD due to OpenBSD patchsetTiago Cunha2009-09-03
| | | | | | 308. - While there, remove some duplicate code from the compat header file.
* Sync OpenBSD patchset 308:Tiago Cunha2009-09-03
| | | | | | When incorrect passwords are entered, behave similarly to login(1) and backoff for a bit. Based on a diff from martynas@.
* Sync OpenBSD patchset 304:Tiago Cunha2009-09-02
| | | | | | | Use "Password:" with no space for password prompts and don't display a *s for the password, like pretty much everything else. From martynas@ with minor tweaks by me.
* Sync OpenBSD patchset 302:Tiago Cunha2009-08-31
| | | | | | | Add a new display-panes command, with two options (display-panes-colour and display-panes-time), which displays a visual indication of the number of each pane.