From e79a41cff907c128e03ac97c48b69e261f2c1f48 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Mon, 12 Nov 2007 16:09:08 +0000 Subject: [PATCH] Finish off man page. --- CHANGES | 3 +- NOTES | 73 +---------------------------- TODO | 5 +- tmux.1 | 141 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 4 files changed, 139 insertions(+), 83 deletions(-) diff --git a/CHANGES b/CHANGES index 268fe65e..6ec8d15a 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,6 @@ 12 November 2007 +* (nicm) Fill in the rest of the man page. * (nicm) kill-session command. 09 November 2007 @@ -202,4 +203,4 @@ (including mutt, emacs). No status bar yet and no key remapping or other customisation. -$Id: CHANGES,v 1.65 2007-11-12 14:21:40 nicm Exp $ +$Id: CHANGES,v 1.66 2007-11-12 16:09:08 nicm Exp $ diff --git a/NOTES b/NOTES index 8c6e06ec..6205cfc5 100644 --- a/NOTES +++ b/NOTES @@ -1,74 +1,3 @@ -Command prefix is C-b by default. - -Key bindings: - d detach - c create new window - n next window - p previous window - l last (next to last selected) window - ? list current key bindings - 0-9 select window - -There is one default server process per user which puts its socket in -/tmp/tmux-UID. It is created the first time tmux is run and subsequent -invocations will connect to the same server. The server holds multiple -sessions. - -Syntax is: tmux [-vV] [-S path] [-s session] command [flags] - - -v Create logfiles, verbosity increases with more -v - -V Show tmux version - -S Set different server socket path - -s Specify session name for command, if appropriate. - -If a session name is not given, the current session is assumed if a command -is run from inside tmux and the TMUX environment variable is available, -otherwise if only one exists, it is used or if multiple exist, an error is -generated. - -Commands: - (Commands can be shortened, as long as they are unambiguous) - - new-session [-d] [-s session name] [-n window name] [command] - Create new session. Attaches to new session unless -d is given. The - window name and command are the same as for new-window below. - - attach-session [-d] - Attach to session. Detaches other clients if -d is given. - - list-sessions - List sessions (can be shortened to ls). - - list-windows - List windows (can be shortened to lsw). - - new-window [-d] [-n window name] [command] - Create a new window. If -d is given, the window is created in the - background (it doesn't become the current window). The window name - and the command to run in the window may also be specified. - - rename-window [-i window index] new name - Rename window. - - bind-key key command - Bind a key to a command (use ^A for ctrl-A), commands are as listed - above. - - list-keys - List current key bindings. - - unbind-key key - Unbind a key from a command. - - set-option prefix key - Set command prefix (meta) key. - -XXX set-option status,status-fg,status-bg - -Sessions are destroyed when no windows remain attached to them. - ---- XXX cut here XXX above this line is reformatted into man page XXX ---------- - Welcome to tmux! tmux is a "terminal multiplexer", it enables a number of terminals (or windows) @@ -130,4 +59,4 @@ freenode or efnet IRC. I sometimes ignore private msgs from people I don't know, so please mention tmux initially (rather than just saying "hi" ;-). -- Nicholas Marriott -$Id: NOTES,v 1.23 2007-11-09 16:22:03 nicm Exp $ +$Id: NOTES,v 1.24 2007-11-12 16:09:08 nicm Exp $ diff --git a/TODO b/TODO index e32bd9d4..9553b974 100644 --- a/TODO +++ b/TODO @@ -48,11 +48,12 @@ rather than ignored - save/restore (DECSC/DECRC) are ugly. maybe a struct screen_attr and memcpy - force maximum terminal size (centred?) +- per-session toolbar state, other options +- commands: + kill server -- For 0.1 -------------------------------------------------------------------- - man page -- commands: - kill session (not bound by default) - fix most(1) problems after scrolling - fix mutt problems with redraw (mutt's) status line when reading mail diff --git a/tmux.1 b/tmux.1 index 8f952d90..e0d6517d 100644 --- a/tmux.1 +++ b/tmux.1 @@ -1,4 +1,4 @@ -.\" $Id: tmux.1,v 1.7 2007-11-12 14:21:40 nicm Exp $ +.\" $Id: tmux.1,v 1.8 2007-11-12 16:09:08 nicm Exp $ .\" .\" Copyright (c) 2007 Nicholas Marriott .\" @@ -40,7 +40,7 @@ necessary and holds a number of .Em sessions , each of which may have a number of .Em windows -connected to it. Any number of +linked to it. Any number of .Em clients may connect to a session, or the server may be controlled by issuing commands with @@ -126,43 +126,77 @@ supports the following commands: .Op Fl d .Xc .D1 (alias: Ic attach ) +Create a new client in the current terminal and attach it to a session. +If +.Fl d +is specified, any other clients attached to the session are detached. .It Xo Ic bind-key .Ar key Ar command Op Ar arguments .Xc .D1 (alias: Ic bind ) +Bind key +.Ar key +to +.Ar command . .It Xo Ic detach-session .Op Fl a .Xc .D1 (alias: Ic detach ) +Detach the current client if bound to a key; otherwise, if +.Fl a +is given, detach all clietns attached to the session. .It Xo Ic has-session .Xc .D1 (alias: Ic has ) +Report an error and exit with 1 if the specified session does not exist. If it +does exist, exit with 0. .It Xo Ic kill-session .Xc +Destroy the given session, closing any windows linked to it and no other +sessions, and detaching all clients attached to it. .It Xo Ic kill-window .Op Fl i Ar index .Xc .D1 (alias: Ic killw ) +Kill the current window or the window at +.Ar index , +removing it from any sessions to which it is linked. .It Xo Ic last-window .Xc .D1 (alias: Ic last ) +Select the last (previously selected) window. .It Xo Ic link-window -.Op Fl i Ar index -.Ar name Ar index +.Op Fl i Ar destination-index +.Ar source-name Ar source-index .Xc .D1 (alias: Ic linkw ) +Link the window at +.Ar source-index +in session +.Ar source-name +into the specified session. If +.Ar destination-index +is specified and no window exists with that index, the window is linked at +that index. +If a window already exists at +.Ar destination-index , +an error is generated. .It Xo Ic list-clients .Xc .D1 (alias: Ic lsc ) +List all clients attached to the server. .It Xo Ic list-keys .Xc .D1 (alias: Ic lsk ) +List all key bindings. .It Xo Ic list-sessions .Xc .D1 (alias: Ic ls ) +List all sessions managed by the server. .It Xo Ic list-windows .Xc .D1 (alias: Ic lsw ) +List all windows. .It Xo Ic new-session .Op Fl d .Op Fl s Ar session-name @@ -170,6 +204,15 @@ supports the following commands: .Op Ar command .Xc .D1 (alias: Ic new ) +Create a new session with name +.Ar session-name . +The new session is attached to the current terminal unless +.Fl d +is given. +.Ar window-name +and +.Ar command +are the name of and command to execute in the initial window. .It Xo Ic new-window .Op Fl d .Op Fl i Ar index @@ -177,49 +220,131 @@ supports the following commands: .Op Ar command .Xc .D1 (alias: Ic neww ) -.It Xo Ic next-window +Create a new window. If +.Fl d +is given, the session does not make the new window the current window. +.Ar index +and +.Ar name +are the index of the new window in the session and the name of the new window. +.Ar command +is the command to execute. +If +.Ar index +is not specified, the first free index is used. +If +.Ar command +is not specified, the default command is used. +.It Xo Ic next-window .Xc .D1 (alias: Ic next ) +Move to the next window in the session. .It Xo Ic previous-window .Xc .D1 (alias: Ic prev ) +Move to the previous window in the session. .It Xo Ic refresh-session .Op Fl a .Xc .D1 (alias: Ic refresh ) +Refresh the display of clients attached to a session. +If bound to a key, only the current client is refreshed; otherwise if +.Fl a +is given, all clients attached to the session is refreshed. .It Xo Ic rename-session .Ar new-name .Xc .D1 (alias: Ic rename ) +Rename the session to +.Ar new-name . .It Xo Ic rename-window .Op Fl i Ar index .Ar new-name .Xc .D1 (alias: Ic renamew ) +Rename the current window, or the window at +.Ar index +if specifed, to +.Ar new-name . .It Xo Ic select-window .Ar index .Xc .D1 (alias: Ic selectw ) +Select the window at +.Ar index . .It Xo Ic send-prefix .Xc +Send the prefix key to a window as if it was pressed. +This is ignored unless bound to a key. .It Xo Ic set-option ) .Ar option Ar value .Xc .D1 (alias: Ic set ) -prefix,status,status-fg,status-bg,bell-action,default-command +Set an option. Possible options are: +.Bl -tag -width Ds +.It Ic prefix Ar key +Set the current prefix key. +.It Xo Ic status +.Op Ar on | Ar off +.Xc +Show or hide the status line. +.It Ic status-fg Ar colour +Set status line foreground colour, where +.Ar colour +is one of: +.Ar black , +.Ar red , +.Ar green , +.Ar yellow , +.Ar blue , +.Ar magenta , +.Ar cyan , +.Ar white or +.Ar default . +.It Ic status-bg Ar colour +Set status line backgroun colour. +.It Xo Ic bell-action +.Op Ar any | Ar none | Ar current +.Xc +Set action on window bell. +.Ar any +means a bell in any window linked to a session causes a bell in the current +window of that session, +.Ar none +means all bells are ignored and +.Ar current +means only bell in windows other than the current window are ignored. +.It Ic default-command Ar command +Sets the command used for new windows (if not specified when the window is +created) to +.Ar command . +The default is +.Dq exec $SHELL . +.El .It Xo Ic swap-window -.Op Fl i Ar index -.Ar name Ar index +.Op Fl i Ar destination-index +.Ar source-name Ar source-index .Xc .D1 (alias: Ic swapw ) +This is similar to +.Ic link-window , +except the source and destination windows are swapped. +It is an error if no window exists at +.Ar destination-index . .It Xo Ic unbind-key .Ar key .Xc .D1 (alias: Ic unbind ) +Unbind the key bound to +.Ar key . .It Xo Ic unlink-window .Op Fl i Ar index .Xc .D1 (alias: Ic unlinkw ) +Unlink the window at +.Ar index . +A window may be unlinked only if it is linked to multiple sessions - windows may +not be linked to no sessions. .El .Sh SEE ALSO .Xr pty 4