summaryrefslogtreecommitdiffstats
path: root/server-fn.c
AgeCommit message (Collapse)Author
2015-04-29Merge branch 'obsd-master'Thomas Adam
2015-04-29If default-terminal is set to "screen" or "screen-*", emulate screen'snicm
historical (incorrect) behaviour for SGR 3 and send smso (standout). Previously, we would send sitm (italics) if the terminal outside had it and smso otherwise. This was acceptably until recently because xterm's terminfo entry lacked sitm, so most users got smso. People who want italics should set default-terminal to the forthcoming "tmux" entry (and be prepared to deal with it being missing on older hosts). As a side-effect this changes default-terminal to be a server rather than a session option. suggested by and ok naddy
2015-04-25Merge branch 'obsd-master'Thomas Adam
2015-04-24Convert clients list into a TAILQ.nicm
2015-04-22Make session_has return a flag, returning the first winlink found is anicm
recipe for errors.
2015-04-22Merge branch 'obsd-master'Thomas Adam
2015-04-21Fix moving windows to nonexistent indexes when renumber-windows isnicm
off. From Thomas Adam, reported by Daniel Levai and Theo Buehler.
2015-04-20Merge branch 'obsd-master'Thomas Adam
2015-04-19Honour renumber-windows when unlinking a window, from Thomas Adam.nicm
2015-04-19Rewrite of tmux mouse support which was a mess. Instead of havingnicm
options for "mouse-this" and "mouse-that", mouse events may be bound as keys and there is one option "mouse" that turns on mouse support entirely (set -g mouse on). See the new MOUSE SUPPORT section of the man page for description of the key names and new flags (-t= to specify the pane or window under mouse as a target, and send-keys -M to pass through a mouse event). The default builtin bindings for the mouse are: bind -n MouseDown1Pane select-pane -t=; send-keys -M bind -n MouseDown1Status select-window -t= bind -n MouseDrag1Pane copy-mode -M bind -n MouseDrag1Border resize-pane -M To get the effect of turning mode-mouse off, do: unbind -n MouseDrag1Pane unbind -temacs-copy MouseDrag1Pane The old mouse options are now gone, set-option -q may be used to suppress warnings if mixing configuration files.
2015-04-19Merge branch 'obsd-master'Thomas Adam
2015-03-31Fix some format specifier nits, from Ben Boeckel.nicm
2015-01-10Merge branch 'obsd-master'Thomas Adam
2015-01-06Unzoom before kill, from Thomas Adam.nicm
2014-11-08No need for $Id$ now.Nicholas Marriott
2014-10-21Merge branch 'obsd-master'Thomas Adam
Conflicts: Makefile cmd-list-commands.c cmd-suspend-client.c job.c tmux.h xmalloc.c
2014-10-20Tidy up some includes.nicm
2014-04-23Merge branch 'obsd-master'Thomas Adam
Conflicts: Makefile tmux.1 window.c
2014-04-17Some more long lines.nicm
2014-02-24Use utempter to update utmp if it's around for configure, from madmaverick9 atNicholas Marriott
roxxmail dot eu.
2014-02-16Merge branch 'obsd-master'Thomas Adam
Conflicts: tmux.1 tmux.c
2014-02-14Style nit - no space between function name and bracket.nicm
2013-10-10Alter how tmux handles the working directory to internally use filenicm
descriptors rather than strings. - Each session still has a current working directory. - New sessions still get their working directory from the client that created them or its attached session if any. - New windows are created by default in the session working directory. - The -c flag to new, neww, splitw allows the working directory to be overridden. - The -c flag to attach let's the session working directory be changed. - The default-path option has been removed. To get the equivalent to default-path '.', do: bind c neww -c $PWD To get the equivalent of default-path '~', do: bind c neww -c ~ This also changes the client identify protocol to be a set of messages rather than one as well as some other changes that should make it easier to make backwards-compatible protocol changes in future.
2013-10-10Similarly for MSG_COMMAND - allow full imsg limit not arbitrary 2048.nicm
2013-10-10Grouped sessions were being leaked on destroy, correctly free them.nicm
2013-10-06Alter how tmux handles the working directory to internally use file descriptorsNicholas Marriott
rather than strings. - Each session still has a current working directory. - New sessions still get their working directory from the client that created them or its attached session if any. - New windows are created by default in the session working directory. - The -c flag to new, neww, splitw allows the working directory to be overridden. - The -c flag to attach let's the session working directory be changed. - The default-path option has been removed. To get the equivalent to default-path '.', do: bind c neww -c $PWD To get the equivalent of default-path '', do: bind c neww -c '#{pane_current_path}' The equivalent of default-path '~' is left as an exercise for the reader. This also changes the client identify protocol to be a set of messages rather than one as well as some other changes that should make it easier to make backwards-compatible protocol changes in future.
2013-10-06Similarly for MSG_COMMAND - allow full imsg limit not arbitrary 2048.Nicholas Marriott
2013-10-06Instead of fixed size buffers for some messages, send only the string length.Nicholas Marriott
2013-08-01Grouped sessions were being leaked on destroy, correctly free them.Nicholas Marriott
2013-07-06Merge branch 'obsd-master'Thomas Adam
2013-07-05When the session option renumber-window is used, ensure we iterate overNicholas Marriott
all sessions in that group when the winlinks are reordered, otherwise the winlink lists are out of sync with one another. From Thomas Adam.
2013-04-23Merge branch 'obsd-master'Thomas Adam
Sync from OpenBSD.
2013-04-22Call recalculate_sizes() after killing window in case it is in a groupedNicholas Marriott
session, from Daniel Ralston.
2013-03-25Use single stdout and stderr for control clients.Nicholas Marriott
2013-03-25Rename session idx to session id throughout and add $ prefix to targetsNicholas Marriott
to use it, extended from a diff from George Nachman.
2013-03-24Add resize-pane -Z to temporary zoom the active pane to occupy the fullNicholas Marriott
window or unzoom (restored to the normal layout) if it already zoomed, bound to C-b z by default. The pane is unzoomed on pretty much any excuse whatsoever. We considered making this a new layout but the requirements are quite different from layouts so decided it is better as a special case. Each current layout cell is saved, a temporary one-cell layout generated and all except the active pane set to NULL. Prompted by suggestions and scripts from several. Thanks to Aaron Jensen and Thiago Padilha for testing an earlier version.
2013-03-24Add a command queue to standardize and simplify commands that call otherNicholas Marriott
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.
2013-03-22Prevent lock on control clients, not on others.Nicholas Marriott
2013-03-22No more lint means no more ARGSUSED.Nicholas Marriott
2013-03-21Add various checks to turn off bits that can't work in control modeNicholas Marriott
(such as lock).
2013-03-11Use single stdout and stderr for control clients.Nicholas Marriott
2013-03-07Rename session idx to session id throughout and add $ prefix to targets to useNicholas Marriott
it, extended from a diff from George Nachman.
2013-02-24Add resize-pane -Z to temporary zoom the active pane to occupy the full windowNicholas Marriott
or unzoom (restored to the normal layout) if it already zoomed, bound to C-b z by default. The pane is unzoomed on pretty much any excuse whatsoever. We considered making this a new layout but the requirements are quite different from layouts so decided it is better as a special case. Each current layout cell is saved, a temporary one-cell layout generated and all except the active pane set to NULL. Prompted by suggestions and scripts from several. Thanks to Aaron Jensen and Thiago Padilha for testing an earlier version.
2013-02-23Add a command queue to standardize and simplify commands that call otherNicholas Marriott
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.
2013-02-19Prevent lock on control clients, not on others.Nicholas Marriott
2013-02-17No more lint means no more ARGSUSED.Nicholas Marriott
2013-02-17Add various checks to turn off bits that can't work in control mode (such asNicholas Marriott
lock).
2012-09-04If stdin in the client is enable immediately, tmux will eat anythingNicholas Marriott
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.
2012-09-03If stdin in the client is enable immediately, tmux will eat anythingNicholas Marriott
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.
2012-07-11Sync OpenBSD patchset 1150:Tiago Cunha
xfree is not particularly helpful, remove it. From Thomas Adam.