aboutsummaryrefslogtreecommitdiff
path: root/server.c
Commit message (Collapse)AuthorAge
...
* Sync OpenBSD patchset 247:Tiago Cunha2009-08-14
| | | | | | | | Initialise log_fd to -1, prevents spurious disconnection of the client when it ends up as fd 0 (likely if the server is started with "tmux start"). Also add some extra debugging messages to server.c.
* Sync OpenBSD patchset 244:Tiago Cunha2009-08-14
| | | | | | Drop the no_stop argument to tty_close and tty_free in favour of a flag in the tty struct.
* Sync OpenBSD patchset 243:Tiago Cunha2009-08-14
| | | | | | | | | | | | | | | | | | | 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.
* Sync OpenBSD patchset 240:Tiago Cunha2009-08-10
| | | | | | | | Reset the attributes after drawing all or part of the screen, and reset the 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).
* Sync OpenBSD patchset 225:Tiago Cunha2009-08-09
| | | | | | | | | | | | | If there is an error in the configuration file, don't just exit(1) as this can 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.
* Sync OpenBSD patchset 192:Tiago Cunha2009-07-28
| | | | | | | | Next step towards customisable mode keys: build each default table of keys into a named tree on start and use that for lookups. Also add command to string translation tables and modify list-keys to show the mode key bindings (new -t argument).
* Sync OpenBSD patchset 175:Tiago Cunha2009-07-25
| | | | | | | Permit commands to be bound to key presses without the prefix key first. The new -n flag to bind-key and unbind-key sets or removes these bindings, and list-key shows them in []s.
* Sync OpenBSD patchset 155:Tiago Cunha2009-07-22
| | | | | | Make some functions which return unused values void (mostly found by lint) and tweak a redundant expression in window_pane_set_mode.
* Sync OpenBSD patchset 148:Tiago Cunha2009-07-20
| | | | | | Display the number of failed password attempts (if any) when the server is locked. From Tom Doherty.
* Sync OpenBSD patchset 142:Tiago Cunha2009-07-20
| | | | | | | | | | | | | | | | | | | | | | | | 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.Tiago Cunha2009-07-19
| | | | | | | | | | If these are enabled (and the monitor-activity, bell-action 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-15
| | | | | redraw it as to draw the entire screen, just skip all lines but the last.
* Add a "back to indentation" key in copy mode to move the cursor to the firstNicholas Marriott2009-07-14
| | | | | | non-whitespace character. ^ with vi and M-m with emacs key bindings. Another from Kalle Olavi Niemitalo, thanks.
* If it exist, load a system-wide configuration file /etc/tmux.conf before anyNicholas Marriott2009-07-14
| | | | | user-specified one.
* Fix $Id$.Nicholas Marriott2009-07-08
|
* Rename the global options variables to be shorter and to make session optionsNicholas Marriott2009-07-08
| | | | | | clear. No functional change, getting this out of the way to make later options changes easier.
* $Id$.Nicholas Marriott2009-07-01
|
* 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.
* Status line fixes: don't truncate status-right now the length calculation isNicholas Marriott2009-06-26
| | | | | | done for UTF-8, limit to the maximum length correctly when printing, and always print a space even if the left string is longer than the width available.
* Remove some dead assignments, found by sthen with clang.no_author2009-06-26
|
* Whitespace and more syncing.Nicholas Marriott2009-06-25
|
* Restore $Id$ and add script to do so.Nicholas Marriott2009-06-25
|
* Change find-window and monitor-content to use fnmatch(3). For convenience andNicholas Marriott2009-06-25
| | | | | compatibility, *s are implicitly added at the start and end of the pattern.
* Make remain-on-exit work again when there is only one pane left, which wasNicholas Marriott2009-06-25
| | | | | | broken sometime during the pane/layout changes. Reported/tested by Iain Morgan, thanks.
* - New window option monitor-content to search for a string in a window, andTiago Cunha2009-05-19
| | | | | | | | | highlight the status line if it matches. - To make this possible, the function cmd_find_window_search from cmd-find-window.c had to be moved to window.c and renamed window_pane_search. - While there use three new functions in server.c to check for bell, activity, and content, to avoid too much nesting.
* (void).Nicholas Marriott2009-05-19
|
* Recreate server socket on SIGUSR1, per SF feature request 2792533.Nicholas Marriott2009-05-16
|
* It is HAVE_PTY_H, also add a cast to shut gcc up.Nicholas Marriott2009-05-14
|
* Rename all feature flags to HAVE_* and move out of makefiles into a configureNicholas Marriott2009-05-13
| | | | | | | | | script which must be run before building. Still two makefiles but they are a hell of a lot simpler. HAVE_* also will make it easier to move to $buildsystem if necessary later.
* Space trimmage mega-diff.Nicholas Marriott2009-05-04
|
* Only worry about complete seconds for status line update. Also reduce poll ↵Nicholas Marriott2009-05-02
| | | | interval and de-magic-number it.
* Use a (pre)randomised binary tree for UTF-8 character widths. Probably overkillNicholas Marriott2009-04-30
| | | | | but meh.
* Update TODO; fix a comment; better screenshot.Nicholas Marriott2009-04-16
|
* Change scroll/pane redraws to only redraw the single pane affected rather thanNicholas Marriott2009-04-02
| | | | | the entire window.
* If redrawing the region would mean redrawing > half the pane, just schedule toNicholas Marriott2009-04-02
| | | | | | | redraw the entire window. Also add a flag to skip updating the window any further if it is scheduled to be redrawn. This has the effect of batching multiple redraws together.
* - Allow switching to hidden windows (for active-only layout).Nicholas Marriott2009-04-01
| | | | | - Don't update unnecessarily for other layouts when changing active pane doesn't matter.
* Basic horizontal splitting and layout management. Still some redraw and otherNicholas Marriott2009-04-01
| | | | | | | | | | | 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.
* FD_CLOEXEC more fds. Still one I can't find...Nicholas Marriott2009-03-31
|
* Now unused variable.Nicholas Marriott2009-03-28
|
* Key repeating is now a property of the key binding not of the command. RepeatNicholas Marriott2009-03-28
| | | | | | is turned on when the key is bound with the -r flag to bind-key. next/previous- window no longer repeat by default as it turned out to annoy me.
* Not const.Nicholas Marriott2009-03-27
|
* Sockets in /tmp are now created in a subdirectory named, tmux-UID, egNicholas Marriott2009-03-27
| | | | | | | | | | tmux-1000. The default socket is thus /tmp/tmux-UID/default. To start a separate server, the new -L command line option should be used: this creates a socket in the same directory with a different name ("-L main" will create socket called "main"). -S should only be used to place the socket outside /tmp. This makes sockets a little more secure and a bit more convenient to use multiple servers.
* Clear pollfds first.Nicholas Marriott2009-03-27
|
* Log socket path so I can tell which tmux log is which.Nicholas Marriott2009-03-05
|
* Initialise socket_path before parsing configuration file.Nicholas Marriott2009-03-04
|
* Don't redraw status if it has already been redrawed as part of entire screen.Nicholas Marriott2009-02-21
|
* Don't leak string arguments and options.Nicholas Marriott2009-02-16
|
* Don't leak top line of history and status screen.Nicholas Marriott2009-02-16
|
* Move status prompt/message init and teardown into status.c.Nicholas Marriott2009-02-13
|
* Move sx,sy into tty rather than client.Nicholas Marriott2009-02-11
|