aboutsummaryrefslogtreecommitdiff
path: root/server.c
Commit message (Collapse)AuthorAge
* Bump the listen() backlog up, some people have scripts that run up a lotnicm2016-03-30
| | | | of clients quickly.
* I no longer use my SourceForge address so replace it.nicm2016-01-19
|
* Add infrastructure to work out the best target given a pane or windownicm2015-12-16
| | | | alone and use it to add pane_died and pane_exited hooks.
* Make the marked pane a cmd_find_state.nicm2015-12-15
|
* Do lock failures slightly better, return a special value so we don'tnicm2015-11-24
| | | | unlink the wrong thing.
* Remove the -I part of show-messages which isn't really that useful; thenicm2015-11-24
| | | | | server start time can now be accessed with a new start_time format (use: tmux display -p '#{t:start_time}')
* Make the log stuff a bit tidier with some helper functions.nicm2015-11-24
|
* Add getpw to pledge, makes tmux work in YP environments, discovered bynicm2015-11-22
| | | | matthieu, ok deraadt
* Use __unused rather than rolling our own.nicm2015-11-18
|
* Accidentally turned off pledge, turn it back on.nicm2015-11-15
|
* Push stdout and stderr to clients more aggressively, and add an event tonicm2015-11-14
| | | | continue if the send fails.
* Tidy utf8.c a little: build table on first use, and make utf8_width takenicm2015-11-12
| | | | a u_int rather than splitting and then combining again in utf8_split.
* The output log is only useful once and it means creating a file, so opennicm2015-10-31
| | | | it once at startup instead of in every call to tty_open.
* Move struct options into options.c.nicm2015-10-27
|
* Break the common process set up, event loop and imsg dispatch codenicm2015-10-27
| | | | | between server and client out into a separate internal API. This will make it easier to add another process.
* tmux can call pledge() in main with large set and then reduce itnicm2015-10-23
| | | | | slightly in the server to "stdio rpath wpath cpath fattr unix recvfd proc exec tty ps".
* This should not be changed.nicm2015-10-22
|
* Rename shutdown to exit.nicm2015-10-22
|
* Userspace doesn't need to use SUN_LEN(): connect() and bind() must acceptguenther2015-10-11
| | | | | | sizeof(struct sockaddr_un), so do the simple, portable thing ok beck@ deraadt@
* Move initial conf load into cfg.c.nicm2015-09-01
|
* Event base does not need to be global.nicm2015-08-30
|
* We already loop over the windows in server_client_loop, so don't do itnicm2015-08-29
| | | | again in server_loop just to check names.
* Move alerts onto events rather than checking every loop.nicm2015-08-29
|
* Remove unused prototypes.nicm2015-08-28
|
* Per-session timers for locking, and remove the global one-second timer.nicm2015-08-28
|
* Remove the lock-server option which is a bit redundant, it isn't thatnicm2015-08-28
| | | | different without it.
* Give clock mode its own timer.nicm2015-08-28
|
* Run status update on a per-client timer at status-interval.nicm2015-08-28
|
* Move format job cleanup onto its own timer.nicm2015-08-28
|
* Add an option (history-file) for a file to save/restore command promptnicm2015-07-20
| | | | history, from Olof-Joachim Frahm.
* Similarly, for sessions use a callback to free rather than checkingnicm2015-06-05
| | | | every loop.
* Instead of putting dead clients on a list and checking it every loop,nicm2015-06-05
| | | | | | | use event_once to queue a callback to deal with them. Also dead clients with references would never actually be freed because the wrap-up functions (the callback for stdin, or status_prompt_clear) would never be called. So call them in server_client_lost.
* Add support for a single "marked pane". There is one marked pane in thenicm2015-06-04
| | | | | | | | | server at a time; it may be toggled or cleared with select-pane -m and -M (the border is highlighted). A new target '~' or '{marked}' specifies the marked pane to commands and it is the default target for the swap-pane and join-pane -s flag (this makes them much simpler to use - mark the source pane and then change to the target pane to run swapp or joinp).
* Clear signal handlers before event_reinit as apparently it can otherwisenicm2015-06-01
| | | | cause libevent to go strange.
* does not need syslog.hderaadt2015-05-31
|
* Move the jobs output cache into the formats code so that #() work morenicm2015-05-27
| | | | generally (for example, again working in set-titles-string).
* Convert clients list into a TAILQ.nicm2015-04-24
|
* Change the windows array into an RB tree and fix some places where wenicm2015-04-22
| | | | were only looking at the first winlink for a window in a session.
* window_index is only used in one place (window_destroy) so inline it there.nicm2015-04-22
|
* Do not die on USR1 if any of the socket parent directories arenicm2015-04-21
| | | | missing. Reported by Robin Powell.
* Add pane_dead_status for exit status of dead panes.nicm2014-12-09
|
* Move cfg_causes local into cfg.c and remove struct causelist.nicm2014-10-27
|
* Wake up any clients waiting with the wait-for command when the servernicm2014-09-01
| | | | exits.
* lockf is entirely useless and it was a mistake to change to it, go backnicm2014-07-21
| | | | | to using flock which actually works sensibly. Also always retry the lock to fix a potential race, and add some extra logging.
* Now that cmdlists are reference counted, there is no need for two-stepnicm2014-05-14
| | | | deletion via the dead_key_bindings tree. From Keith Amling.
* There is no longer a need for a paste_stack struct or for global_buffersnicm2014-04-24
| | | | to be global. Move to paste.c.
* Some more long lines.nicm2014-04-17
|
* Do not run any command line command from the client which starts thenicm2013-10-20
| | | | | | server until after the configuration file completes. This prevents it racing against run-shell or if-shell in .tmux.conf that run in the background.
* Rename global configuration define.Nicholas Marriott2013-04-24
|
* Add a command queue to standardize and simplify commands that call otherNicholas Marriott2013-03-24
| | | | | | | | | | | | | | | | | | | | | | commands and allow a command to block execution of subsequent commands. This allows run-shell and if-shell to be synchronous which has been much requested. Each client has a default command queue and commands are consumed one at a time from it. A command may suspend execution from the queue by returning CMD_RETURN_WAIT and then resume it by calling cmd_continue() - for example run-shell does this from the callback that is fired after the job is freed. When the command queue becomes empty, command clients are automatically exited (unless attaching). A callback is also fired - this is used for nested commands in, for example, if-shell which can block execution of the client's cmdq until a new cmdq becomes empty. Also merge all the old error/info/print functions together and lose the old curclient/cmdclient distinction - a cmdq is bound to one client (or none if in the configuration file), this is a command client if c->session is NULL otherwise an attached client.