aboutsummaryrefslogtreecommitdiff
path: root/server.c
Commit message (Collapse)AuthorAge
...
| * 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.
* Sync OpenBSD patchset 635:Tiago Cunha2010-02-08
| | | | | | | Instead of bailing out on the first configuration file error, carry on, collecting all the errors, then start with the active window in more mode displaying them.
* Sync OpenBSD patchset 625:Tiago Cunha2010-02-02
| | | | | Ignore SIGHUP as well.
* 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 578:Tiago Cunha2009-12-04
| | | | | | Close the pane if the process died due to a signal, not just if it exited normally.
* 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 528:Tiago Cunha2009-11-13
| | | | | | Free the pane bufferevent when the fd is closed (the signal could come before the error callback).
* Sync OpenBSD patchset 527:Tiago Cunha2009-11-13
| | | | | | Only need to chmod +x or -x the socket when a client is created, lost or attached, rather than every event loop.
* OS X is still broken, so ask libevent not to use kqueue or poll.Nicholas Marriott2009-11-11
|
* Sync OpenBSD patchset 510:Tiago Cunha2009-11-08
| | | | | EVLOOP_ONCE takes care of the wakeup, so no need to call event_loopexit(NULL).
* Sync OpenBSD patchset 509:Tiago Cunha2009-11-08
| | | | | | Now all timers are events, there is no longer any need to wake up every 50 ms - only wake up when an event happens.
* Sync OpenBSD patchset 505:Tiago Cunha2009-11-08
| | | | | | Move status timer check into the global once-per-second timer, this could maybe be done better but one every second is better than once every 50 ms.
* 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 500:Tiago Cunha2009-11-08
| | | | | Tell the client to exit on configuration file error.
* Sync OpenBSD patchset 498:Tiago Cunha2009-11-08
| | | | | | | | Convert the window pane (pty master side) fd over to use a bufferevent. The evbuffer API is very similar to the existing tmux buffer API so this was remarkably painless. Not many possible ways to do it, I suppose.