Commit Graph

174 Commits

Author SHA1 Message Date
Tiago Cunha
545893df73 Sync OpenBSD patchset 142:
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.
2009-07-20 15:42:05 +00:00
Tiago Cunha
376c808b50 Add three new session options: visual-activity, visual-bell, visual-content.
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.
2009-07-19 14:35:56 +00:00
Tiago Cunha
17170f5d6e Add a -k flag to unlink-window which makes it behave the same as the old
kill-window - if a window is linked into only one session it unlinked and
destroyed.
2009-07-19 00:39:37 +00:00
Nicholas Marriott
19cb1fb592 Make it so using kill-pane to destroy the last pane in a window destroys the
window instead of being an error.
2009-07-18 11:07:14 +00:00
Nicholas Marriott
6bc9ee3420 Tidy up new-session and attach-session and change them to work from inside
tmux, switching the current client to the new or requested session.
2009-07-18 11:06:09 +00:00
Nicholas Marriott
f1efd6b4e7 If -u is specified or UTF-8 is otherwise detected when the server is started,
enable the utf8 and status-utf8 optons. While here, note in the man page that
the server is started with the first session and exits when none remain.
2009-07-18 11:05:13 +00:00
Tiago Cunha
ae7dda10ce - New command display-message (alias display) to display a message in the
status line (bound to "i" by default).
- Add support for including the window index, pane index, and window name
  in status-left, or status-right.
- Bump protocol version.
2009-07-17 18:32:54 +00:00
Nicholas Marriott
821de39b27 Fix arguments to switch-client. 2009-07-17 07:45:42 +00:00
Nicholas Marriott
d358a352c0 Tidy up and improve target (-t) argument parsing:
- move the code back into cmd.c and merge with the existing functions where
  possible;
- accept "-tttyp0" as well as "-t/dev/ttyp0" for clients;
- when looking up session names, try an exact match first, and if that fails
  look for it as an fnmatch pattern and then as the start of a name - if more
  that one session matches an error is given; so if there is one session called
  "mysession", -tmysession, -tmysess, -tmysess* are equivalent but if there
  is also "mysession2", the last two are errors;
- similarly for windows, if the argument is not a valid index or exact window
  name match, try it against the window names as an fnmatch pattern and a
  prefix.
2009-07-14 06:42:06 +00:00
Nicholas Marriott
61bd3ae1c6 Document the -k flag to new-window. 2009-07-14 06:39:44 +00:00
Nicholas Marriott
5ef5bd7c31 Add a "back to indentation" key in copy mode to move the cursor to the first
non-whitespace character. ^ with vi and M-m with emacs key bindings. Another
from Kalle Olavi Niemitalo, thanks.
2009-07-14 06:39:25 +00:00
Nicholas Marriott
d2c3dbc665 If it exist, load a system-wide configuration file /etc/tmux.conf before any
user-specified one.
2009-07-14 06:38:14 +00:00
Nicholas Marriott
30f47dfc5e Add -r to the synopsis of the paste-buffer command, prompted by jmc. 2009-07-12 17:12:06 +00:00
Nicholas Marriott
27fc963631 When pasting, translate \n into \r. This matches xterm and putty's behaviour,
and makes emacs happy when pasting into some modes. A new -r (raw) flag to
paste-buffer pastes without the translation.

From Kalle Olavi Niemitalo, thanks!
2009-07-12 17:11:39 +00:00
Nicholas Marriott
ef5f356da2 paste-buffer -d was not documented. From Kalle Olavi Niemitalo. 2009-07-12 17:10:35 +00:00
Nicholas Marriott
d7b4aa0ff3 Add a default-terminal option to set the starting value of $TERM in new
windows.
2009-07-12 17:07:58 +00:00
Nicholas Marriott
79bc6041c9 Document display-time option which seems to have been missed. 2009-07-12 17:04:21 +00:00
Nicholas Marriott
eee3dd297e New command, if-shell (alias if). Executes the tmux command in the second
argument if the shell command in the first succeeds, for example:

       if "[ -e ~/.tmux.conf.alt ]" "source .tmux.conf.alt"

Written by Tiago Cunha, many thanks.
2009-07-09 18:14:18 +00:00
Nicholas Marriott
2ddcb51df3 Fix $Id$. 2009-07-08 18:03:03 +00:00
Nicholas Marriott
b7a272fe6d Add a section summarising how options work, make the distinction between window
and session options clearer, and fix the incorrect synopses and descriptions of
show-options and show-window-options.
2009-07-08 17:57:07 +00:00
Nicholas Marriott
9f0653386b $Id$. 2009-07-01 23:06:32 +00:00
Nicholas Marriott
22d1b9412e Using -l to specify a login shell is non-POSIX and causes problems with shells
that do not support it. Instead, set an empty default-command to invoke $SHELL
with - prefixed to argv[0], and make this the default setting.
2009-07-01 19:42:55 +00:00
Nicholas Marriott
eed4f7600d Fix $Id$. 2009-06-29 22:04:51 +00:00
Nicholas Marriott
796b2e3ec9 Add missing spaces before some alias closing brackets, otherwise they are
shown in the wrong style.
2009-06-29 22:02:20 +00:00
Nicholas Marriott
a5830b9603 Restore $Id$ and add script to do so. 2009-06-25 16:21:32 +00:00
Nicholas Marriott
28bcf774e5 New session option, status-utf8, to control the interpretation of top-bit-set
characters in status-left and status-right (if on, they are treated as UTF-8;
otherwise passed through).
2009-06-25 15:48:25 +00:00
Nicholas Marriott
5b3db7b56c Sync man page with OpenBSD. 2009-06-25 15:30:29 +00:00
Tiago Cunha
80af85a102 - New window option monitor-content to search for a string in a window, and
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.
2009-05-19 13:32:55 +00:00
Nicholas Marriott
c21ffbc772 left-vertical -> main-vertical.
Also update CHANGES/TODO.
2009-05-18 21:58:40 +00:00
Nicholas Marriott
143aa718e5 Space trimmage mega-diff. 2009-05-04 17:58:27 +00:00
Nicholas Marriott
cdf472f2de Merge resize-pane-{up,down} into resize-pane. 2009-04-30 06:01:24 +00:00
Tiago Cunha
53dc88e276 Simplify the code by using the generic _target functions. 2009-04-28 18:29:44 +00:00
Nicholas Marriott
850965584e Missing Ar. 2009-04-27 14:50:22 +00:00
Tiago Cunha
e397e3a5f8 - Add alias to the break-pane command.
- s/Asks/Ask/ in the confirm-before command for consistency's sake.
2009-04-27 14:40:45 +00:00
Tiago Cunha
058772e4e6 - confirm-before command.
- Bound "&" and "x" by default to confirm-before "kill-window" and
  confirm-before "kill-pane", respectively.
2009-04-27 13:21:16 +00:00
Nicholas Marriott
fb2e65ad99 Document panes stuff. 2009-04-21 20:06:46 +00:00
Nicholas Marriott
4641cf36a3 Document set-remain-on-exit. 2009-04-21 16:38:23 +00:00
Nicholas Marriott
73e375f9eb Document break-pane. 2009-04-21 16:34:31 +00:00
Nicholas Marriott
054edf7af9 Document status-keys. 2009-04-21 16:30:53 +00:00
Nicholas Marriott
f9af6f7f8c Document -L and -8, fix synopsis. 2009-04-20 19:25:58 +00:00
Nicholas Marriott
2ab713ab6b Document -r to bind key. 2009-04-20 19:11:31 +00:00
Nicholas Marriott
d9f3bcdb50 Zero to turn off updates. 2009-02-10 00:09:44 +00:00
Nicholas Marriott
44cc9c4459 Typos. 2009-02-08 18:41:03 +00:00
Nicholas Marriott
7942e49aea Session name is now shown. 2009-02-08 16:11:52 +00:00
Nicholas Marriott
3c7fefd90d Document automatic-rename. 2009-02-07 08:35:26 +00:00
Nicholas Marriott
bb3eb77a2a New sentence, new line. 2009-02-07 08:22:11 +00:00
Nicholas Marriott
ea8a8d39d4 Document command sequences. 2009-02-07 08:20:54 +00:00
Tiago Cunha
fe9320a064 Prevent weird output on OpenBSD (probably on other BSD's too?). From nicm. 2009-02-06 19:36:17 +00:00
Tiago Cunha
70dbc2f5b1 - Document find-window.
- Document suspend-client.
- Document window-status-{attr,bg,fg}.
- Options without arguments should be listed first.
- s/Copies/Copy/.
2009-02-06 18:38:30 +00:00
Tiago Cunha
4213ff8faa copy-buffer command. 2009-02-03 17:21:19 +00:00
Tiago Cunha
dd4e160d71 - Document the -p and -l options in split-window.
- Update {copy,scroll}-mode with the -u option.
- While there sort options alphabetically.
2009-02-01 18:24:25 +00:00
Nicholas Marriott
ef7c891aab Missing line break. 2009-02-01 18:11:40 +00:00
Tiago Cunha
2bb499c8af Support #(command) in status-left, and status-right. 2009-01-29 23:35:14 +00:00
Nicholas Marriott
c6bd9e2063 Allow status, mode and message attributes to be changed by three new options: status-attr, mode-attr, message-attr. A comma-separataed list is accepted containing: bright, dim, underscore, blink, reverse, hidden, italics, for example: set -g status-attr bright,blink
From Josh Elsasser, thanks!
2009-01-27 20:22:33 +00:00
Nicholas Marriott
7c8cd81b34 Typos. 2009-01-26 18:22:55 +00:00
Tiago Cunha
f62ed6aaa3 load-buffer command 2009-01-25 19:00:10 +00:00
Nicholas Marriott
caa93f0e02 Whoops. Ic not It. 2009-01-20 20:03:13 +00:00
Nicholas Marriott
5f6a351df7 Start the first client with a special socketpair so it is already known to the
server rather than playing silly games to get them synchronised before doing
anything.

Change attach-session to start the server.
2009-01-19 17:16:09 +00:00
Nicholas Marriott
1237025d99 Document xterm-keys 2009-01-17 17:16:31 +00:00
Tiago Cunha
5fefd9d11f Document repeat-time. 2009-01-16 22:52:31 +00:00
Nicholas Marriott
8b0a7c056d Document choose-*. 2009-01-16 20:18:10 +00:00
Tiago Cunha
e78b7c8154 Document command-prompt template string, and panes commands. From nicm and me. 2009-01-16 17:28:49 +00:00
Nicholas Marriott
5aa3098bb6 Support #S #H in status-left/right. 2009-01-15 23:42:21 +00:00
Tiago Cunha
5bd33f5f7f Document default-path, and update set/setw with the -u flag. From nicm and me. 2009-01-15 21:24:03 +00:00
Nicholas Marriott
54209774ff Document -g. 2009-01-14 18:47:19 +00:00
Nicholas Marriott
bc56751692 Disable lock-after-time by default. 2009-01-14 18:41:55 +00:00
Tiago Cunha
ea8d4d43ab Update by documenting the following commands/options:
- clock-mode,
- lock-server,
- server-info,
- lock-after-time,
- set-password,
- clock-mode-colour, and
- clock-mode-style.
2009-01-12 21:23:58 +00:00
Nicholas Marriott
d78bc5dfc4 save-buffer command, from Tiago Cunha. 2009-01-11 23:14:57 +00:00
Nicholas Marriott
a1b43faa43 Trim spaces. 2009-01-10 01:51:22 +00:00
Nicholas Marriott
45738b2a85 Tweak. 2009-01-07 23:09:51 +00:00
Nicholas Marriott
58be8b38a7 More man page updates from Tiago Cunha. 2009-01-07 23:07:42 +00:00
Nicholas Marriott
8810fc158c Updates from Tiago Cunha. 2009-01-07 18:54:18 +00:00
Nicholas Marriott
5445918b3e source-file command from Tiago Cunha. 2008-12-15 21:21:56 +00:00
Nicholas Marriott
8524062e56 Document mode keys 2008-11-17 17:41:35 +00:00
Nicholas Marriott
5ca710d9e3 Disable UTF-8 by default and add options to enable it. 2008-11-16 13:28:59 +00:00
Nicholas Marriott
efe557313a Internal screen data rewrite for better 256 colour/UTF-8 support. 2008-09-25 20:08:57 +00:00
Nicholas Marriott
80a594cae3 Document zombie window stuff. 2008-06-30 18:27:14 +00:00
Nicholas Marriott
797f04b648 Document buffer stuff. 2008-06-30 05:34:06 +00:00
Nicholas Marriott
cfb611e95a Document next/prev word. 2008-06-29 07:22:00 +00:00
Nicholas Marriott
1a58f958be Document some commands. 2008-06-27 17:24:16 +00:00
Nicholas Marriott
6bc6e97da5 C-u C-f from merdely. 2008-06-26 19:02:18 +00:00
Nicholas Marriott
7836298f29 Allow use of alt keys. move-window command. 2008-06-25 20:33:20 +00:00
Nicholas Marriott
e180471982 Update from Will Maier. 2008-06-19 22:14:12 +00:00
Nicholas Marriott
73d1558ed0 status-lines -> status, prefix-key -> prefix 2008-06-19 22:04:02 +00:00
Nicholas Marriott
24cc3626dc Document command-prompt. Tweak TODO. 2008-06-19 21:45:46 +00:00
Nicholas Marriott
6c23e89f48 Sort options from Pierre Riteau. 2008-06-18 16:39:15 +00:00
Nicholas Marriott
9b4d7c271b Document show-window-options, some other tweaks. 2008-06-17 06:22:15 +00:00
Nicholas Marriott
c9a650c5d4 Document set-window-option, update example. 2008-06-17 06:18:44 +00:00
Nicholas Marriott
ff21dbd58b Explanation of -t. 2008-06-16 22:03:27 +00:00
Nicholas Marriott
55d5b83408 Informational messages on window option changes. 2008-06-16 17:35:40 +00:00
Nicholas Marriott
a8e3e989dd Document show-options. 2008-06-16 06:33:50 +00:00
Nicholas Marriott
557b6b86b0 Add a couple of extra option types, and implement show-options command. 2008-06-15 08:01:54 +00:00
Nicholas Marriott
ec42778590 Man page update from Will Maier, thanks. 2008-06-11 06:19:56 +00:00
Nicholas Marriott
29e2253611 Partial tmux.1 update thanks to Will Maier. 2008-06-06 20:07:56 +00:00
Nicholas Marriott
596080a699 Usage update from Will Maier. 2008-06-06 15:23:44 +00:00
Nicholas Marriott
0b9b873a55 Big reorganisation of command-line syntax. 2008-06-05 21:25:00 +00:00
Nicholas Marriott
7325fea37d Man page fixes from Tiago Cunha. 2008-06-05 15:55:59 +00:00
Nicholas Marriott
f7ba4dfdc9 Bring select-window into line with everything else wrt -i. 2008-06-04 16:11:53 +00:00
Nicholas Marriott
f91e7bfd38 If no command is specified, assume new-session. 2008-06-03 05:35:51 +00:00
Nicholas Marriott
95cc21c251 Quick man page update, also fix some usages and get rid of some CMD_KEY checks. 2008-06-02 21:36:51 +00:00