Commit Graph

1743 Commits (1c69a91c25654339a0e670ed5a1495d52b37eb8e)

Author SHA1 Message Date
Thomas Adam 374f5ea60c Merge branch 'obsd-master' 2020-03-28 14:01:28 +00:00
Thomas Adam 88ca500546 Merge branch 'obsd-master' 2020-03-28 10:01:27 +00:00
nicm 593fddf84b Make two -E only close popup automatically if the command exited with 0. 2020-03-28 09:51:12 +00:00
nicm e0b17e796b Add formats for top paste buffer by default. Also a tmux.1 fix from jmc. 2020-03-28 09:39:27 +00:00
Thomas Adam 8a57d14f4b Merge branch 'obsd-master' 2020-03-26 11:11:37 +00:00
nicm 8a838b0372 Add support for overlay popup boxes to show text or output temporarily
above the normal layout. These work similarly to menus and are created
with the display-popup command.
2020-03-24 08:09:43 +00:00
Thomas Adam e4efd59fe0 Merge branch 'obsd-master' 2020-03-20 20:01:34 +00:00
nicm 06c3079d66 Make the mouse_word and mouse_line formats work in copy mode and enable
the default pane menu in copy mode.
2020-03-20 17:59:39 +00:00
Thomas Adam 17e4f2394a Merge branch 'obsd-master' 2020-03-19 14:01:31 +00:00
nicm 581ed718e7 Add C position for terminal centre with display-menu -x and -y. 2020-03-19 13:32:49 +00:00
Thomas Adam c91a0948e3 Merge branch 'obsd-master' 2020-03-12 16:01:28 +00:00
Thomas Adam 6385bd1e08 Merge branch 'obsd-master' 2020-03-12 14:01:29 +00:00
nicm 6571dd50f8 Tidy up the default mouse key bindings and:
- Add double and triple click bindings to copy a word or line outside
  copy mode. The text is selected for a short period to show what has
  been copied. This is in line with the existing mouse selection where
  the text is copied and the selection is cleared when the mouse button
  is released.

- Change the existing double and triple click bindings in copy mode to
  behave in the same way.

- Add a button 2 binding to paste the top buffer.
2020-03-12 13:48:32 +00:00
nicm 516f6099fc Add a -d flag to run-shell to wait for delay before running the command,
also allow run-shell to accept no command to just delay.
2020-03-12 13:25:45 +00:00
nicm 7863445e5d Add a copy-mode -H flag to hide the position marker in the top right. 2020-03-12 13:19:20 +00:00
Thomas Adam 5625c62044 Merge branch 'obsd-master' 2020-03-12 12:01:25 +00:00
nicm b8b48e2e37 Add C-g to cancel command prompt with vi(1) keys as well as emacs, and q
in command mode.
2020-03-12 09:49:43 +00:00
Thomas Adam e512a3642a Merge branch 'obsd-master'
Also add a check for -lm via AC_SEARCH_LIBS in configure.ac for
portablility fixes.
2020-03-11 17:23:38 +00:00
nicm c820585dd0 Add some number operators for formats, from Tyler Culp. 2020-03-11 14:17:55 +00:00
Thomas Adam 4694afbed4 Merge branch 'obsd-master' 2020-02-20 10:01:29 +00:00
nicm 229be034fb Add selection_active format for when the selection is present but not
moving with the cursor, from Mark Kelly.
2020-02-20 07:34:57 +00:00
Thomas Adam 0c6c8c4efc Merge branch 'obsd-master' 2020-02-15 16:01:25 +00:00
nicm a1f6bd55b6 Add -a to list-keys to also list keys without notes with -N, suggested
by Shehu Dikko.
2020-02-15 15:08:08 +00:00
Thomas Adam a4d8437bc2 Merge branch 'obsd-master' 2020-02-11 08:01:30 +00:00
nicm dc882adb2e Remove unused variables from Ben Boeckel, and a Pp from jmc. 2020-02-11 07:01:08 +00:00
Thomas Adam 54553903de Merge branch 'obsd-master' 2020-02-05 14:01:26 +00:00
nicm fb29242168 Make list-keys description clearer in tmux.1 and remove an unused variable. 2020-02-05 13:06:49 +00:00
Thomas Adam 8b22da69b6 Merge branch 'obsd-master' 2020-01-29 10:01:25 +00:00
nicm 7a15d10bf4 Remove extra Pp (from jmc) and add a missing word. 2020-01-29 08:28:17 +00:00
nicm f165221dc4 Reduce a difference with portable tmux by adding the -V flag and
#{version} format; on OpenBSD these just report the OpenBSD version.
2020-01-28 10:44:30 +00:00
Thomas Adam f3ea318a04 Merge branch 'obsd-master' 2020-01-27 10:01:27 +00:00
nicm 2c38e01b54 Expand description of start-server. 2020-01-27 09:04:47 +00:00
nicm d0b8d036be Add support for adding a note to a key binding (with bind-key -N) and
use this to add descriptions to the default key bindings. A new -N flag
to list-keys shows key bindings with notes rather than the default
bind-key command used to create them. Change the default ? binding to
use this to show a readable summary of keys.

Also extend command-prompt to return the name of the key pressed and add
a default binding (/) to show the note for the next key pressed

Suggested by Alex Tremblay in GitHub issue 2000.
2020-01-27 08:53:13 +00:00
Thomas Adam 0eb7b54731 Merge branch 'obsd-master' 2020-01-25 18:01:26 +00:00
nicm 9169ee0e87 Mention swap-window -d, GitHub issue 2068. 2020-01-25 16:40:32 +00:00
Thomas Adam e9b1294331 Merge branch 'obsd-master' 2020-01-12 22:01:26 +00:00
nicm 193e637de0 The terminal type was never as much use as I expected so remove it in
favour of a couple of flags for the features used (DECSLRM and DECFRA).
Also rename the flag for no xenl to be more obvious while here.
2020-01-12 21:07:07 +00:00
Thomas Adam 7110226b96 Merge branch 'obsd-master' 2020-01-02 00:01:29 +00:00
nicm ac85a3e0d3 Document client exit messages. 2020-01-01 22:12:05 +00:00
Thomas Adam b931bbb319 Merge branch 'obsd-master' 2019-12-26 12:01:26 +00:00
nicm 817d199cbb Add a number of new formats to inspect what sessions and clients a
window is present or active in. From Tyler Culp in GitHub issue 2034.
2019-12-26 11:04:58 +00:00
Thomas Adam 67d2408279 Merge branch 'obsd-master' 2019-12-24 12:01:25 +00:00
nicm 07e37479c2 Fix name of option, GitHub issue 2030. 2019-12-24 09:57:11 +00:00
Thomas Adam 5f5f029e3b Merge branch 'obsd-master' 2019-11-28 12:18:41 +00:00
nicm 2349b1dbef Make a best effort to set xpixel and ypixel for each pane and add
formats for them.
2019-11-28 09:45:15 +00:00
nicm 067604bf8c Store xpixel/ypixel from TIOCGWINSZ and add formats. 2019-11-28 09:05:34 +00:00
Thomas Adam daa93b3fdc Merge branch 'obsd-master' 2019-11-25 16:01:27 +00:00
nicm 1ebd8c1234 Add p format modifier for padding to width. 2019-11-25 15:04:15 +00:00
Thomas Adam 0d3f306c8e Merge branch 'obsd-master' 2019-11-18 10:01:25 +00:00
nicm 350a434939 Add -f for full size to join-pane (like split-window), from Theo Buehler. 2019-11-18 09:43:31 +00:00
Thomas Adam dbdff241b2 Merge branch 'obsd-master' 2019-11-15 12:01:27 +00:00
nicm f3dc38dcae Handle OSC 7 (a VTE extension) and put the result in a new format (pane_path). 2019-11-15 11:16:53 +00:00
Thomas Adam 518a687886 Merge branch 'obsd-master' 2019-11-14 10:01:29 +00:00
nicm 08b07b1a08 Add an option to set the key sent by backspace for those whose system
uses ^H rather than ^?. GitHub issue 1969.
2019-11-14 07:55:01 +00:00
Thomas Adam eb215d3d3f Merge branch 'obsd-master' 2019-11-07 08:01:26 +00:00
nicm c225262e13 Add -F flag to send-keys to expand formats in search-backward and
forward copy mode commands, this makes it easier to use the cursor_word
and cursor_line formats. From Anindya Mukherjee in GitHub issue 1964.
2019-11-07 07:11:25 +00:00
Thomas Adam 4e5f80dc62 Merge branch 'obsd-master' 2019-10-23 16:01:25 +01:00
nicm 6700018ce5 Document Any key, from Jason Felice. 2019-10-23 14:10:13 +00:00
Thomas Adam b5de0a20d8 Merge branch 'obsd-master' 2019-10-23 10:01:27 +01:00
nicm f7fb5df543 Use the existing code in format.c to add foramts for word and line at
cursor position in copy mode, from Anindya Mukherjee.
2019-10-23 07:42:05 +00:00
Thomas Adam 004ee66227 Merge branch 'obsd-master' 2019-10-19 22:01:25 +01:00
nicm 56e5067c46 Add formats for cursor and selection position in copy mode, from Jason Felice. 2019-10-19 19:20:14 +00:00
Thomas Adam fb7ce5b5d5 Merge branch 'obsd-master' 2019-10-15 10:01:28 +01:00
nicm 0c5e9c6efa Add support for percentage sizes for resize-pane ("-x 10%"). Also change
split-window and join-pane -l to accept similar percentages and
deprecate -p. From Anindya Mukherjee.
2019-10-15 08:25:37 +00:00
Thomas Adam 24ab1bc714 Merge branch 'obsd-master' 2019-09-19 12:01:30 +01:00
nicm 647887b794 Add a "latest" window-size option which tries to size windows based on
the most recently used client. From Tommie Gannert in GitHub issue 1869
based on earlier changes from me.
2019-09-19 09:02:30 +00:00
Thomas Adam d346d692eb Merge branch 'obsd-master' 2019-09-16 00:01:25 +01:00
nicm 63e07b245f Add push-default and pop-default in styles to change the default colours
and attributes and use them to restore the previous behaviour of
window-status-style being the default for window-status-format in the
status line. From John Drouhard in GitHub issue 1912.
2019-09-15 21:42:57 +00:00
Thomas Adam a5e36a4bd6 Merge branch 'obsd-master' 2019-09-13 04:01:25 +01:00
Thomas Adam 658ecb0777 Merge branch 'obsd-master' 2019-09-11 16:48:58 +01:00
nicm a23ce1b45f Add window_marked_flag, GitHub issue 1887. 2019-09-11 06:43:17 +00:00
nicm b6b7486423 Clarify server options slightly. 2019-09-09 11:47:25 +00:00
Thomas Adam 2e90841f2e Merge branch 'obsd-master' 2019-09-09 12:02:32 +01:00
nicm b31515fec3 Add cursor-down-and-cancel, from Mark Kelly. 2019-09-09 08:01:21 +00:00
Thomas Adam 2db9a18362 Merge branch 'obsd-master' 2019-08-16 17:02:29 +01:00
nicm 37583f0a69 Add a flag to reverse sort in the various choose modes, from Benjamin
Poirier in GitHub issue 1875.
2019-08-16 11:49:12 +00:00
Thomas Adam ed0f2831b4 Merge branch 'obsd-master' 2019-08-15 11:02:48 +01:00
nicm 0f243f0388 Add -Z flag to rotate-window, select-pane, swap-pane, switch-client to
preserve zoomed state. GitHub issue 1839.
2019-08-14 09:58:31 +00:00
Thomas Adam 11315c589a Merge branch 'obsd-master' 2019-08-01 11:02:26 +01:00
nicm 2db5f9c215 Add -N to capture-pane to preserve trailing spaces, from Leon Winter. 2019-08-01 08:42:34 +00:00
Thomas Adam 900e583c7a Merge branch 'obsd-master' 2019-07-30 13:02:26 +01:00
nicm e698ee01dd Reorder some text in the windows & panes section and add some better
explanation of modes.
2019-07-30 10:10:02 +00:00
Thomas Adam 47712fc113 Merge branch 'obsd-master' 2019-07-19 09:02:26 +01:00
nicm df7b5292ab More man page fixes from lacygoill at lacygoill dot me, GitHub issue
1805.
2019-07-19 07:18:03 +00:00
Thomas Adam 9cbbdb90bf Merge branch 'obsd-master' 2019-07-10 13:02:26 +01:00
nicm f4d858e7a0 Add -F to refresh-client to specify flags for control clients - one flag
at the moment, no-output which turns off forwarding pane output. From
Thomas Adam. GitHub issue 1834.
2019-07-10 11:20:10 +00:00
Thomas Adam 98ef369b27 Merge branch 'obsd-master' 2019-07-09 17:02:26 +01:00
nicm fc2016dbb6 Add a -H flag to send-keys to send literal keys given as hex numbers
(needed for control clients to send mouse sequences). Also add some
format flags for UTF-8 and SGR mouse mode. Requested by Bradley Smith in
GitHub issues 1832 and 1833.
2019-07-09 14:03:12 +00:00
Thomas Adam be5af704ad Merge branch 'obsd-master' 2019-07-02 23:02:26 +01:00
nicm 6a489fa7f6 Command prompt key presses need to avoid the command queue, GitHub issue
1817. Also a tmux.1 fix from jmc.
2019-07-02 20:09:19 +00:00
Thomas Adam b9fbf02ad5 Merge branch 'obsd-master' 2019-07-01 09:02:25 +01:00
nicm 2da050413c Add a "fill" style attribute to clear the entire format drawing area in
a colour, GitHub issue 1815.
2019-07-01 06:56:00 +00:00
Thomas Adam a07df21e79 Merge branch 'obsd-master' 2019-06-27 21:02:25 +01:00
jmc b434692db2 minor eol issues; 2019-06-27 17:29:16 +00:00
Thomas Adam e483ce138f Merge branch 'obsd-master' 2019-06-27 17:02:26 +01:00
nicm dae2868d12 Add support for underscore colours with Setulc capability, mostly from
Kai Moschcau.
2019-06-27 15:17:41 +00:00
Thomas Adam 69a2f73449 Merge branch 'obsd-master' 2019-06-21 09:02:25 +01:00
nicm e3c2772d2f Man page fixes from lacygoill at lacygoill dot me. 2019-06-21 07:11:01 +00:00
Thomas Adam 70775b3c28 Merge branch 'obsd-master' 2019-06-20 23:02:28 +01:00
nicm 1d8e545bc1 Add -r to find-window for regex instead of fnmatch. 2019-06-20 20:31:04 +00:00
Thomas Adam 4a44ae06bf Merge branch 'obsd-master' 2019-06-20 17:02:26 +01:00
Thomas Adam f8ad72b2ee Merge branch 'obsd-master' 2019-06-20 15:02:26 +01:00
nicm fc1df91e03 allow-rename and alternate-screen can be pane options. 2019-06-20 13:40:22 +00:00
nicm 5f92f92908 Add a per-pane option set. Pane options inherit from window options (so
there should be no change to existing behaviour) and are set and shown
with set-option -p and show-options -p.

Change remain-on-exit and window-style/window-active-style to be pane
options (some others will be changed later).

This makes select-pane -P and -g unnecessary so no longer document them
(they still work) and no longer document set-window-option and
show-window-options in favour of set-option -w and show-options -w.
2019-06-20 11:59:59 +00:00
Thomas Adam 03945276f7 Merge branch 'obsd-master' 2019-06-20 09:02:26 +01:00
nicm cd1fc42df6 Add a -A flag to show-options to show parent options as well. 2019-06-20 07:10:56 +00:00
Thomas Adam 5e9757b30b Merge branch 'obsd-master' 2019-06-14 15:51:09 +01:00
nicm 45203582ff A couple of minor parser changes around conditions: 1) only treat #{
specially after a condition, otherwise as a comment (which is more as
most people expect) 2) allow formats to be quoted after a condition.
2019-06-14 12:04:11 +00:00
jmc b8a9c740bb tweak previous; 2019-06-13 21:04:21 +00:00
nicm 3e72e98e3b Add regular expression support for the format search, match and
substitute modifiers.
2019-06-13 19:46:00 +00:00
Thomas Adam c91680822d Merge branch 'obsd-master' 2019-06-05 23:02:26 +01:00
nicm 8f40796f05 Add a -v flag to source-file to show the commands and line numbers. 2019-06-05 20:00:53 +00:00
Thomas Adam d3f0c72e20 Merge branch 'obsd-master' 2019-06-03 21:02:26 +01:00
nicm 4ca1de1b8b Add new-session -X and attach-session -x to send SIGHUP to parent when
detaching (like detach-client -P). From Colin Watson in GitHub issue
1773.
2019-06-03 18:28:37 +00:00
Thomas Adam 82b25a9d62 Merge branch 'obsd-master' 2019-05-30 11:02:27 +01:00
nicm 89d2c7eb26 I had hoped that non-xenl terminals had died out, at least in fairly
modern OSs, but no - DragonFly BSD's console returns to haunt us. Fix it
at least somewhat. GitHub issue 1763.
2019-05-30 07:42:41 +00:00
Thomas Adam e90b5dcea3 Merge branch 'obsd-master' 2019-05-29 13:02:35 +01:00
nicm a4424fbebf Support \ooo escapes, from Avi Halachmi. 2019-05-29 10:08:36 +00:00
Thomas Adam b8360504f3 Merge branch 'obsd-master' 2019-05-28 15:02:26 +01:00
Thomas Adam eba6cf61c9 Merge branch 'obsd-master' 2019-05-28 13:02:27 +01:00
nicm 0ec410689c Allow source-file to take multiple arguments. 2019-05-28 11:46:30 +00:00
nicm 12255411f2 Allow menu items to be disabled by putting a - at the start of their
name, rather than just including #[dim] which still allowed them to be
chosen.
2019-05-28 09:50:54 +00:00
Thomas Adam c0116b2c5b Merge branch 'obsd-master' 2019-05-28 09:02:26 +01:00
nicm 799a154b91 Change display-menu from taking a single string to a set of arguments,
which is much easier to work with. Based on a diff from Avi Halachmi.
2019-05-28 07:18:42 +00:00
Thomas Adam 793f4d89d6 Merge branch 'obsd-master' 2019-05-27 19:02:25 +01:00
nicm 90cd045cf3 Clarify newlines inside {} a little. 2019-05-27 16:22:32 +00:00
Thomas Adam d4bf4bd7c7 Merge branch 'obsd-master' 2019-05-27 15:02:28 +01:00
nicm 6b332127ca Add an additional {} syntax for defining strings in the configuration
file, making it much tidier to define commands that contain other tmux
or shell commands (like if-shell). Also tweak bind-key to expect a
string if it is only given one argument, so {} can be used with it as
well. From Avi Halachmi.
2019-05-27 12:16:27 +00:00
Thomas Adam 103e44d936 Merge branch 'obsd-master' 2019-05-26 21:02:26 +01:00
nicm e90d4a6021 Add formats for word and line under the mouse and use them to add some
items to the pane menu.
2019-05-26 17:34:45 +00:00
Thomas Adam 2e84d1cf03 Merge branch 'obsd-master' 2019-05-26 15:02:25 +01:00
nicm 6431005169 Add a way to append or prepend to a format if the length has been limited. 2019-05-26 12:02:42 +00:00
Thomas Adam 463bd8abb9 Merge branch 'obsd-master' 2019-05-25 18:41:51 +01:00
nicm a65a6d62d1 Add <, >, <=, >= for formats, GitHub issue 1747. 2019-05-25 16:51:10 +00:00
Thomas Adam 75aeb733f2 Merge branch 'obsd-master' 2019-05-23 13:02:27 +01:00
nicm 723010ba72 Replace the split parser code (cfg.c and cmd-string.c) with a single
parser using yacc(1). This is a major change but is clearer and simpler
and allows some edge cases to be made more consistent, as well as
tidying up how aliases are handled. It will also allow some further
improvements later.

Entirely the same parser is now used for parsing the configuration file
and for string commands. This means that constructs previously only
available in .tmux.conf, such as %if, can now be used in string commands
(for example, those given to if-shell - not commands invoked from the
shell, they are still parsed by the shell itself).

The only syntax change I am aware of is that #{} outside quotes or a
comment is now considered a format and not a comment, so #{ is now a
syntax error (notably, if it is at the start of a line).

This also adds two new sections to the man page documenting the syntax
and outlining how parsing and command execution works.

Thanks to everyone who sent me test configs (they still all parse
without errors - but this doesn't mean they still work as intended!).

Thanks to Avi Halachmi for testing and man page improvements, also to
jmc@ for reviewing the man page changes.
2019-05-23 11:13:30 +00:00
Thomas Adam 3856116069 Merge branch 'obsd-master' 2019-05-21 09:02:37 +01:00
nicm ae4cccb4f1 Fix a couple of Ta from Alphonse Mariya. 2019-05-21 07:01:14 +00:00
Thomas Adam 1eefbd28e8 Merge branch 'obsd-master' 2019-05-13 23:02:26 +01:00
nicm 1ee944a19d Add support for overline (SGR 53), from Ricardo Banffy. 2019-05-13 20:10:23 +00:00
Thomas Adam b5b5d35eee Merge branch 'obsd-master' 2019-05-13 11:02:31 +01:00
nicm c5f660e33a Fix column width for copy mode commands. 2019-05-13 08:56:07 +00:00
Thomas Adam 50d1d04913 Merge branch 'obsd-master' 2019-05-11 09:02:29 +01:00
nicm 198b0a23a2 Don't use arguments with It and -enum, pointed out by jmc. 2019-05-11 06:40:01 +00:00
Thomas Adam aa13bd4016 Merge branch 'obsd-master' 2019-05-10 22:10:38 +01:00
nicm 6dcca5fda4 Add support for simple menus usable with mouse or keyboard. New command
display-menu shows a menu (bound to the mouse on status line by default)
and a couple of extra formats for the default menus.
2019-05-10 18:04:06 +00:00
Thomas Adam f431e20f3d Merge branch 'obsd-master' 2019-05-09 11:02:25 +01:00
nicm 299b7289ea Add formats to show if pane is the marked pane and if any marked pane is set. 2019-05-09 08:38:13 +00:00
Thomas Adam 3439c02e9d Merge branch 'obsd-master' 2019-05-07 17:02:25 +01:00
schwarze fcd0e3082b Rename the ENVIRONMENT section which was squatting on the standard
manual page section and create a new ENVIRONMENT with the expected
content.  Move some information that was misplaced below the -u
flag into that new section.
Feedback and OK nicm@ jmc@ tb@
2019-05-07 14:01:39 +00:00
Thomas Adam d4177e954c Merge branch 'obsd-master' 2019-05-03 23:02:28 +01:00
nicm 9f75635596 Allow panes to be empty (no command), output can be piped to them with
split-window or display-message -I.
2019-05-03 20:44:24 +00:00
Nicholas Marriott 43656d4ea7 Sync up some tmux.1 bits. 2019-05-03 17:12:30 +01:00
Thomas Adam fff85d854e Merge branch 'obsd-master' 2019-05-03 17:04:11 +01:00
nicm 5d9e591ae8 Fix up some bits about window-size that seem to have got lost. 2019-05-02 20:12:40 +00:00
Thomas Adam 3ab229da70 Merge branch 'obsd-master' 2019-04-28 23:02:30 +01:00
nicm c4b0da5513 Support multiple occurances of the same argument. Use this for a new
flag -e to new-window, split-window, respawn-window, respawn-pane to
pass environment variables into the newly created process. From Steffen
Christgau in GitHub issue 1697.
2019-04-28 20:05:50 +00:00
Thomas Adam 5489796737 Merge branch 'obsd-master' 2019-04-27 20:09:07 +01:00
nicm dfb7bb6830 Merge hooks into options and make each one an array option. This allows
multiple commands to be easily bound to one hook. set-hook and
show-hooks remain but they are now variants of set-option and
show-options. show-options now has a -H flag to show hooks (by default
they are not shown).
2019-04-26 11:38:51 +00:00
Thomas Adam f2c0605d6d Merge branch 'obsd-master' 2019-04-25 17:02:37 +01:00
nicm 1677bb0dea Need to escape ]. 2019-04-25 15:35:07 +00:00
Thomas Adam b0d7623b7e Merge branch 'obsd-master' 2019-04-23 13:02:37 +01:00
nicm 564e44adc6 Add -no-clear variants of copy-selection and copy-pipe which do not
clear the selection after copying. Make copy-pipe clear the selection by
default to be consistent with copy-selection. From Avi Halachmi.
2019-04-23 09:39:07 +00:00
Thomas Adam f980e868dd Merge branch 'obsd-master' 2019-04-18 14:11:22 +01:00
nicm 5b9211d827 Copy the code to infer the option type to show-options and document it. 2019-04-18 12:22:07 +00:00
jmc 2219f7cc73 mark up punctuation-as-macro-args properly; 2019-04-17 16:34:35 +00:00
nicm 5943cd1907 Document that switch-client can change all of session,window,pane and
check for % in the target as well as ":.".
2019-04-17 14:39:37 +00:00
Thomas Adam 2546572e8e Merge branch 'obsd-master' 2019-04-08 21:02:37 +01:00
nicm 835ccbac46 select-word was missing from the command list, from pawel-slowik. 2019-04-08 17:55:51 +00:00
Nicholas Marriott b5b67c5386 Document that switch-client can change all of session,window,pane and check for
% in the target as well as ":.".
2019-04-08 10:38:50 +01:00
Thomas Adam bfc1f0ca62 Merge branch 'obsd-master' 2019-04-02 11:02:44 +01:00
nicm 7bcc0d16f2 Add an argument to copy commands to set the prefix for the buffer name,
allows buffers for different sessions to be named separately.
2019-04-02 09:03:39 +00:00
Thomas Adam 6ac84585e6 Merge branch 'obsd-master' 2019-03-25 20:02:38 +00:00
nicm d21f8ecc13 Add StatusDefault binding for the mouse on any otherwise unassigned
parts of the status line, from Avi Halachmi.
2019-03-25 18:59:55 +00:00
Thomas Adam 5e2150cf18 Merge branch 'obsd-master' 2019-03-25 16:00:36 +00:00
Thomas Adam a07ad6b5a3 Merge branch 'obsd-master' 2019-03-25 15:57:47 +00:00
nicm ff4d7d541f Fix columns of cursor_character format in list. 2019-03-25 14:29:36 +00:00
nicm b4a301f8fe Clarify that styles can be space or comma separated, from Stephen Zapatka. 2019-03-22 10:45:17 +00:00
nicm 04a1fc9d36 I forgot to document resize-window, window-size and default-size;
reminded by okan@.
2019-03-22 09:33:04 +00:00
Thomas Adam 320237fdb8 Merge branch 'obsd-master' 2019-03-19 20:02:37 +00:00
nicm 161b57869e Add a cursor_character format. 2019-03-19 19:01:50 +00:00
Thomas Adam b3eebdec48 Merge branch 'obsd-master' 2019-03-19 14:02:36 +00:00
nicm b24c9e34a9 Rename the first KEY BINDINGS section to DEFAULT KEY BINDINGS. 2019-03-19 13:35:42 +00:00
Thomas Adam f956c17c09 Merge branch 'obsd-master' 2019-03-18 22:02:36 +00:00
Thomas Adam 962f255ee8 Merge branch 'obsd-master' 2019-03-18 21:24:49 +00:00
nicm c62404673e Add some bits to the STATUS LINE section about the new option. 2019-03-18 21:01:04 +00:00
nicm 979313832c Extend the #[] style syntax and use that together with previous format
changes to allow the status line to be entirely configured with a single
option.

Now that it is possible to configure their content, enable the existing
code that lets the status line be multiple lines in height. The status
option can now take a value of 2, 3, 4 or 5 (as well as the previous on
or off) to configure more than one line. The new status-format array
option configures the format of each line, the default just references
the existing status-* options, although some of the more obscure status
options may be eliminated in time.

Additions to the #[] syntax are: "align" to specify alignment (left,
centre, right), "list" for the window list and "range" to configure
ranges of text for the mouse bindings.

The "align" keyword can also be used to specify alignment of entries in
tree mode and the pane status lines.
2019-03-18 20:53:33 +00:00
Thomas Adam 4cbf596dc5 Merge branch 'obsd-master' 2019-03-18 15:30:55 +00:00
Thomas Adam acb2413852 Merge branch 'obsd-master' 2019-03-18 15:07:51 +00:00
nicm 2628af573d Add format variables for the default formats for the various modes
(tree_mode_format and so on) and add a -a flag to display-message to
list variables with values.
2019-03-18 14:10:25 +00:00
nicm bd3332b211 Break description of styles into its own section. 2019-03-17 19:33:12 +00:00
nicm 27578815da Add a -v flag to display-message to show verbose messages as the format
is parsed, this gives the user a way to debug problems with formats
rather than just being confronted with (for example) a blank status
line.
2019-03-15 10:04:13 +00:00
Thomas Adam 2c755e3c55 Merge branch 'obsd-master' 2019-03-14 22:02:39 +00:00
nicm 4206bcc10e Add format flags for start and end window. 2019-03-14 21:41:30 +00:00
nicm 38064e7593 Add T format modifier like E but also do strftime(3). 2019-03-14 21:31:43 +00:00
Thomas Adam f33d2ab29e Merge branch 'obsd-master' 2019-03-14 08:02:37 +00:00
nicm 1e9f8a3523 Missing space in capture-pane usage, from Ben Boeckel.
Also man page fixed from jmc.
2019-03-14 06:36:21 +00:00
Thomas Adam e6fd429d58 Merge branch 'obsd-master' 2019-03-13 16:02:41 +00:00
nicm 95ab1aaaec Add formats to list sessions, windows or panes. 2019-03-13 15:37:28 +00:00
nicm 9032ac2a05 Add E: format to expand a format twice (useful to expand the value of an
option).
2019-03-13 14:19:54 +00:00
Thomas Adam c42e89a598 Merge branch 'obsd-master' 2019-02-06 08:02:37 +00:00
nicm afd3127d89 Add -b to display-panes like run-shell, GitHub issue 1559. 2019-02-06 07:36:06 +00:00
Thomas Adam 4efba0bf9f Merge branch 'obsd-master' 2018-11-07 10:02:39 +00:00
nicm 7339845c01 There is no reason wait-for has to be restricted to outside tmux. 2018-11-07 07:58:16 +00:00
Thomas Adam e771f10dc6 Merge branch 'obsd-master' 2018-10-25 17:02:42 +01:00
nicm fc41bf46ac Add a "terminal" colour which can be used instead of "default" in style
options for the terminal default colour, bypassing any inheritance from
other options. Prompted by a discussion with abieber@.
2018-10-25 15:13:38 +00:00
Thomas Adam 164590e34c Merge branch 'obsd-master' 2018-10-18 15:02:38 +01:00
nicm 9feb35b7c4 Document new refresh-client flags. 2018-10-18 13:03:45 +00:00
Thomas Adam f44d02c7f5 Merge branch 'obsd-master' 2018-10-18 11:09:54 +01:00
nicm a51668ca06 Support OSC 52 ? to read the top buffer inside tmux (when set-clipboard
is changed to on), also add refresh-client -l to ask tmux to use the
same mechanism to get the clipboard from the terminal outside
tmux. GitHub issue 1477.
2018-10-18 08:04:14 +00:00
nicm bc0e527f32 Support for extended underline styles on terminals which offer them,
enabled by adding the Smulx capability with terminal-overrides (add
something like ',vte*:Smulx=\E[4\:%p1%dm'). GitHub issue 1492.
2018-10-18 07:57:57 +00:00
Nicholas Marriott c88e945bc5 Support OSC 52 ? to read the top buffer inside tmux, also add
refresh-client -l to get the clipboard outside tmux. GitHub issue
1477.
2018-10-11 16:20:14 +01:00
Nicholas Marriott 4b9e76aaaa Support for extended underline styles, enabled by adding the Smulx
capability with terminal-overrides (add something like
'vte*:Smulx=\E[4\:%p1%dm'). GitHub issue 1492.
2018-10-08 13:21:37 +01:00
Nicholas Marriott ebaf54251a Add formats for when window is larger than client, and show offset in
status-right by default when larger.
2018-09-26 18:41:18 +01:00
Nicholas Marriott 04c6db2d0f Revert "Add a B flag to mark windows bigger than the client."
This reverts commit b4e74f4310.
2018-09-26 16:42:29 +01:00
Nicholas Marriott b4e74f4310 Add a B flag to mark windows bigger than the client. 2018-09-25 09:54:47 +01:00
Nicholas Marriott 59df942e09 Fixes to resize-window from Ben Boeckel. 2018-09-05 08:43:58 +01:00
Nicholas Marriott 7637518b07 Fix refresh-client flags. 2018-08-29 18:59:43 +01:00
Thomas Adam d64daf874f Merge branch 'obsd-master' 2018-08-26 11:02:38 +01:00
nicm 1b4402c823 Add q: format prefix to escape sh(1) special characters. Suggested by
someone ages ago and then more recently in GitHub issue 1449.
2018-08-26 09:28:42 +00:00
Thomas Adam 5b93f0fcd3 Merge branch 'obsd-master' 2018-08-22 23:02:43 +01:00
nicm 55db3623bf Add StatusLeft and StatusRight mouse key modifiers for the left and
right parts of the status line.
2018-08-22 20:06:14 +00:00
Nicholas Marriott bfc9fb4b3b Add flags to refresh-client (-U -D -L -R and -c) to pan a window that
is larger than the client manually. Bound to S-Up, S-Down, S-Left,
S-Right and Delete manually.

Also add aliases for keys DC = Delete, IC = Insert, and make
refresh-client -C accept XxY as well as X,Y to match default-size.
2018-08-21 09:27:19 +01:00
Thomas Adam 098967a085 Merge branch 'obsd-master' 2018-08-20 17:02:39 +01:00
nicm 665f046950 Add -Z to find-window as well. 2018-08-20 15:00:42 +00:00
Nicholas Marriott 641191ab20 Support for windows larger than the client.
This adds two new options, window-size and default-size, and a new
command, resize-window.

The force-width and force-height options, and the session_width and
session_height formats have been removed.

The new window-size option tells tmux how to work out the size of
windows: largest means it picks the size of the largest session,
smallest the smallest session (similar to the old behaviour) and
manual means that it does not automatically resize
windows. aggressive-resize modifies the choice of session for largest
and smallest as it did before.

If a window is in a session attached to a client that is too small,
only part of the window is shown. tmux attempts to keep the cursor
visible, so the part of the window displayed is changed as the cursor
moves (with a small delay, to try and avoid excess redrawing when
applications redraw status lines or similar that are not currently
visible).

Drawing windows which are larger than the client is not as efficient
as those which fit, particularly when the cursor moves, so it is
recommended to avoid using this on slow machines or networks (set
window-size to smallest or manual).

The resize-window command can be used to resize a window manually. If
it is used, the window-size option is automatically set to manual for
the window (undo this with "setw -u window-size"). resize-window works
in a similar way to resize-pane (-U -D -L -R -x -y flags) but also has
-a and -A flags. -a sets the window to the size of the smallest client
(what it would be if window-size was smallest) and -A the largest.

For the same behaviour as force-width or force-height, use
resize-width -x or -y.

If the global window-size option is set to manual, the default-size
option is used for new windows. If -x or -y is used with new-session,
that sets the default-size option for the new session.

The maximum size of a window is 10000x10000. But expect applications
to complain and higher memory use if you make a window that big. The
minimum size is the size required for the current layout including
borders.

This change allows some code improvements, most notably that since
windows can now never be cropped, that code can be removed from the
layout code, and since panes can now never be outside the size of the
window, window_pane_visible can be removed.
2018-08-20 15:22:14 +01:00
Thomas Adam aa32457772 Merge branch 'obsd-master' 2018-07-23 21:02:25 +01:00
kn 5c78b48cdf Point to glob in section 7 for the actual list of special characters instead
the C API in section 3.

OK millert jmc nicm, "the right idea" deraadt
2018-07-23 19:02:49 +00:00
Thomas Adam 6f2698004e Merge branch 'obsd-master' 2018-07-06 09:02:24 +01:00
nicm 28a5bc8fae Add a rectangle_toggle format, from Hirokazu Hata. 2018-07-06 07:11:23 +00:00
Thomas Adam 20154f391e Merge branch 'obsd-master' 2018-07-04 15:02:25 +01:00
jmc 98c4291df2 whitespace needed between macro args and punctuation; 2018-07-04 13:27:32 +00:00
nicm cc743dc296 Add set-hook -R to run a hook immediately (useful to set multiple hooks
to the same thing).
2018-07-04 12:30:52 +00:00
nicm d254293a6d Add pane focus hooks. 2018-07-04 12:25:26 +00:00
Thomas Adam 713e0ddef3 Merge branch 'obsd-master' 2018-06-08 13:02:25 +01:00
nicm ff45b2d343 Tweak previous - check for a NULL client and simplify manual text. 2018-06-08 09:43:58 +00:00
Thomas Adam 7de25d86e1 Merge branch 'obsd-master' 2018-06-03 13:02:31 +01:00
nicm ba31d3a88c Increment the lines counter when skipping a line to avoid an infinite
loop, and fix a check to avoid a potential out-of-bounds access. Problem
reported by Yuxiang Qin and tracked down by Karl Beldan; GitHub issue
1352.

Also a man page fix request by jmc@.
2018-06-03 10:17:30 +00:00
Thomas Adam 058d2b94dc Merge branch 'obsd-master' 2018-05-28 15:02:31 +01:00
nicm b602c1fb9a Document escaping inside conditionals, from "sadie-parayno" in GitHub
issue 1359.
2018-05-28 11:45:26 +00:00
Thomas Adam f0ac0d6793 Merge branch 'obsd-master' 2018-05-22 11:02:33 +01:00
nicm 2a04665626 Allow escaping , and } with # in #{}; GitHub issue 1332. 2018-05-22 08:49:12 +00:00
Thomas Adam 82c0eed36d Merge branch 'obsd-master' 2018-05-09 19:02:35 +01:00
nicm 80994a8de1 Mention allow-rename with \033k. 2018-05-09 16:20:50 +00:00
Thomas Adam d24bd7394d Merge branch 'obsd-master' 2018-04-23 17:02:32 +01:00
nicm 068d1b97b2 #aabbcc will use RGB if supported so don't say it is closest match. 2018-04-23 13:51:21 +00:00
Thomas Adam 6ebd737590 Merge branch 'obsd-master' 2018-04-18 15:02:25 +01:00
nicm e64d078a4c Fix || example. 2018-04-18 12:50:11 +00:00
Thomas Adam 1bd66b65a3 Merge branch 'obsd-master' 2018-04-10 13:02:28 +01:00
nicm c6975b3bb4 Add x and X to choose-tree (with a confirmation prompt) to kill an
item. Suggested by Matt Zagrabelny.
2018-04-10 10:48:44 +00:00
Thomas Adam 0ca9664ecf Merge branch 'obsd-master' 2018-02-28 10:02:29 +00:00
nicm 508e2f0b3a Add -Z flag to choose-tree, choose-client, choose-buffer to
automatically zoom the pane when the mode is entered and unzoom when it
exits, assuming the pane is not already zoomed. Add -Z to the default
key bindings.
2018-02-28 08:55:44 +00:00
Thomas Adam c2aa40449c Merge branch 'obsd-master' 2018-02-22 12:02:31 +00:00
nicm 623f4b12d3 Add exit-empty option to exit server if no sessions (defaults to on). 2018-02-22 10:54:51 +00:00
Thomas Adam 84ddc72744 Merge branch 'obsd-master' 2018-01-17 11:26:10 +00:00
nicm 5849b73b81 Add -I to pipe-pane to connect pane stdin as well as stdout, suggested
by Kristof Kovacs in GitHub issue 1186.
2018-01-16 09:00:38 +00:00
Thomas Adam e19df0e869 Merge branch 'obsd-master' 2017-12-22 12:01:22 +00:00
nicm 5c82432200 Remove duplicate WheelUp/WheelDown entries in list, GitHub issue 1184. 2017-12-22 10:16:36 +00:00
Thomas Adam 5fddddbe21 Merge branch 'obsd-master' 2017-11-16 12:01:18 +00:00
nicm e5ae9dd53d Add -and-cancel variants for scrolling commands to exit copy mode when
the bottom is reached, from Stephen Hicks.
2017-11-16 11:16:15 +00:00
Thomas Adam 102df8dc80 Merge branch 'obsd-master' 2017-11-15 22:01:22 +00:00
nicm 3b649d2fcd Add a common function for spreading out cells and use it for the two
even layouts and to add a -E flag to select-layout to spread out cells
evenly without changing parent cells.
2017-11-15 19:59:27 +00:00
Thomas Adam 8c29f7413b Merge branch 'obsd-master' 2017-11-02 20:01:26 +00:00
nicm 17655e5ba6 Format for group list of "other sessions" is a bit weird, just list all
the sessions in the group.
2017-11-02 18:52:05 +00:00
nicm c1f62f1fde Only show the first member of session groups in tree mode (-G flag
disables).
2017-11-02 18:27:35 +00:00
Thomas Adam cf782c4f54 Merge branch 'obsd-master' 2017-10-26 10:01:18 +01:00
nicm e91e8a2a6c Fix crash exiting command prompt (from Alex Maese in GitHub issue 1139)
and a man page tweak from jmc.
2017-10-26 08:17:12 +00:00
Thomas Adam d36ac3db15 Merge branch 'obsd-master' 2017-10-25 18:01:17 +01:00
nicm be4c01697c Note that notifications are also hooks. 2017-10-25 15:20:10 +00:00
Thomas Adam 0072bc65e6 Merge branch 'obsd-master' 2017-10-25 16:01:22 +01:00
nicm 578a63bbc9 Default allow-rename to off because it is ridiculous that applications
are even able to do this and confusing when they do.
2017-10-25 14:14:52 +00:00
Thomas Adam 6b83ca0077 Merge branch 'obsd-master' 2017-10-25 14:01:26 +01:00
nicm 8dd776106d Add P key to paste tagged in buffer mode, and trim some code that should
no longer be necessary.
2017-10-25 11:26:11 +00:00
Thomas Adam ceab7154d4 Merge branch 'obsd-master' 2017-10-08 18:40:41 +01:00
nicm 0b4c408168 Fix description of history_size, from Campbell Barton. 2017-10-08 16:45:01 +00:00
Thomas Adam f069c0ba09 Merge branch 'obsd-master' 2017-10-06 20:01:17 +01:00
nicm 9c4caf49a2 Support %else in config files to match %if, from Brad Town in GitHub
issue 1071.
2017-10-06 18:02:30 +00:00
Thomas Adam d8c397d1b7 Merge branch 'obsd-master' 2017-09-11 10:01:11 +01:00
nicm d8d6c2746e Mention that filter is a format. 2017-09-11 06:53:06 +00:00
Thomas Adam ff3d05d92f Merge branch 'obsd-master' 2017-09-04 12:01:11 +01:00
nicm eadd79acec Move to current mouse position not last when clcking in copy mode; fixes
GitHub issue 1055. Also a man page fix from jmc.
2017-09-04 09:18:51 +00:00
Thomas Adam d019821281 Merge branch 'obsd-master' 2017-09-02 20:01:18 +01:00
nicm f4848b437f Add selectp -T to set pane title. 2017-09-02 17:51:54 +00:00
Nicholas Marriott fa20f19494 Fix position of -v, pointed out by Thomas Sattler. 2017-08-30 09:33:53 +01:00
Thomas Adam 3b40f8e42c Merge branch 'obsd-master' 2017-08-23 12:01:13 +01:00
nicm 08b125194e Key (v) and flag (-N) to toggle preview in choose modes. 2017-08-23 09:39:11 +00:00
Thomas Adam ccdc369025 Merge branch 'obsd-master' 2017-08-20 00:01:22 +01:00
nicm 768740ae98 Fix example for user-keys. 2017-08-19 20:40:16 +00:00
Thomas Adam 07a13697e1 Merge branch 'obsd-master' 2017-08-17 12:01:17 +01:00
nicm 8daa1d5f54 Add monitor-bell window option to match the activity and silence
options, from Brad Town.
2017-08-17 08:37:38 +00:00
Thomas Adam 2103a09430 Merge branch 'obsd-master' 2017-08-16 14:01:15 +01:00
nicm c6a8ad23a1 Add -d flag to display-panes to specify timeout, and make 0 mean no
timeout. From Laurens Post.
2017-08-16 12:12:54 +00:00
Thomas Adam 27c3852103 Merge branch 'obsd-master'
Conflicts:
	tmux.1
2017-08-09 15:07:18 +01:00
nicm 5dd5543fe4 Add -F to choose-tree, choose-client, choose-buffer to specify the
format of each line, as well as adding a couple of formats needed for
the default display.
2017-08-09 11:43:45 +00:00
Thomas Adam e7b1e05bbd Merge branch 'obsd-master' 2017-08-02 14:01:10 +01:00
nicm 6f9b9655d7 Add selection_present format so commands in copy mode can use it, GitHub
issue 1028.
2017-08-02 11:10:48 +00:00
Thomas Adam 147740ed40 Merge branch 'obsd-master' 2017-07-27 14:01:13 +01:00
nicm 3df7c91f1a Add pane_at_left/right/top/bottom formats, from Amos Bird. 2017-07-27 10:42:05 +00:00
Thomas Adam 58744de3eb Merge branch 'obsd-master' 2017-07-26 18:01:16 +01:00
nicm 76887b1d27 Make bell, activity and silence alerting more consistent:
- remove the bell-on-alert option;

- add activity-action and silence-action options with the same possible
  values as the existing bell-action;

- add "both" value for the visual-bell, visual-activity and
  visual-silence options to trigger both a bell and a message.

This means all three work the same way. Based on changes from Yvain Thonnart.
2017-07-26 16:14:08 +00:00
Thomas Adam e725b96a59 Merge branch 'obsd-master' 2017-07-21 12:01:16 +01:00
nicm 11e2af6df7 Add -c for respawn-pane and respawn-window, from J Raynor. 2017-07-21 09:17:19 +00:00
Thomas Adam 05062e7d2d Merge branch 'obsd-master' 2017-07-07 18:01:15 +01:00
nicm 9913cce3ba Add a pane_pipe format to show if pipe-pane is active, GitHub issue 990. 2017-07-07 14:39:45 +00:00
Thomas Adam 6b1ceca86a Merge branch 'obsd-master' 2017-07-05 00:01:10 +01:00
nicm 53d4ed22e8 < and > keys to scroll preview list left and right in tree mode. 2017-07-04 22:21:31 +00:00
Thomas Adam f059fe3ef2 Merge branch 'obsd-master' 2017-06-30 00:01:14 +01:00
nicm 8b0fd63ddb Use 100 as the example for command-alias because the defaults are from 0
to (currently) 5.
2017-06-29 22:02:19 +00:00
Thomas Adam 1ca920bbeb Merge branch 'obsd-master' 2017-06-28 10:01:16 +01:00
nicm 1e376be13d Fix visual-silence (check accidentally the wrong way round), from Brad
Town. Plus some tmux.1 fixes from jmc@.
2017-06-28 06:45:31 +00:00
Thomas Adam 6995497e5b Merge branch 'obsd-master' 2017-06-23 18:01:11 +01:00
nicm 95ed7d48c8 Add user-keys option to allow user-defined keys to be set, from Dan
Aloni.
2017-06-23 15:36:52 +00:00
Thomas Adam 4dbab75855 Merge branch 'obsd-master' 2017-06-09 18:01:14 +01:00
nicm adcd5aff6f Extend filters (f key) to buffer and client mode and add -f flag to
specify to command.
2017-06-09 16:01:39 +00:00
nicm bab4da5133 Add -O option to choose-* to set initial sort order. 2017-06-09 15:29:15 +00:00
Thomas Adam e640907d24 Merge branch 'obsd-master' 2017-06-09 12:01:17 +01:00
nicm 74b2deae1c Add a hook when the clipboard is set. 2017-06-09 09:21:24 +00:00
Thomas Adam 86d6666fe7 Merge branch 'obsd-master' 2017-06-07 16:01:10 +01:00
nicm 405cc337f3 Add simple searching (C-s and n) to the various choose modes: by name
for client and tree, and by name and content for buffer.
2017-06-07 14:37:30 +00:00
Thomas Adam e62e17d046 Merge branch 'obsd-master'
Conflicts:
	tmux.1
	window.c
2017-06-05 11:59:38 +01:00
nicm adf5628087 Support SIGUSR2 to stop and start logging for an existing server. Also
we currently only have two log levels so just use -v and -vv rather than
-v and -vvvv, and clarify the man page entry for -v.
2017-06-04 08:25:57 +00:00
nicm 184039044a Typo/style; plus man page escaping from jmc. 2017-06-04 08:02:20 +00:00
Thomas Adam 757eb060cd Merge branch 'obsd-master' 2017-06-03 20:01:10 +01:00
nicm 3442066054 Make set-clipboard a three-state option so tmux itself can ignore the
sequencess.
2017-06-03 17:43:01 +00:00
Thomas Adam f17ecaa495 Merge branch 'obsd-master'
Conflicts:
	Makefile.am
	cfg.c
	server-client.c
2017-05-31 15:56:13 +01:00
nicm aad4e4ddb1 Rewrite of choose mode, both to simplify and tidy the code and to add
some modern features.

Now the common code is in mode-tree.c, which provides an API used by the
three modes now separated into window-{buffer,client,tree}.c. Buffer
mode shows buffers, client mode clients and tree mode a tree of
sessions, windows and panes.

Each mode has a common set of key bindings plus a few that are specific
to the mode. Other changes are:

- each mode has a preview pane: for buffers this is the buffer content
  (very useful), for others it is a preview of the pane;

- items may be sorted in different ways ('O' key);

- multiple items may be tagged and an operation applied to all of them
  (for example, to delete multiple buffers at once);

- in tree mode a command may be run on the selected item (session,
  window, pane) or on tagged items (key ':');

- displayed items may be filtered in tree mode by using a format (this
  is used to implement find-window) (key 'f');

- the custom format (-F) for the display is no longer available;

- shortcut keys change from 0-9, a-z, A-Z which was always a bit weird
  with keys used for other uses to 0-9, M-a to M-z.

Now that the code is simpler, other improvements will come later.

Primary key bindings for each mode are documented under the commands in
the man page (choose-buffer, choose-client, choose-tree).

Parts written by Thomas Adam.
2017-05-30 21:44:59 +00:00
Thomas Adam 5bc5fe5e7e Merge branch 'obsd-master' 2017-05-29 20:01:12 +01:00
nicm a2ace9da24 Add ||, && format operators and C: to search pane content. 2017-05-29 18:06:34 +00:00
Thomas Adam d3959a2118 Merge branch 'obsd-master' 2017-05-29 18:01:14 +01:00
nicm 1257501499 Add m: for fnmatch(3) format matching. 2017-05-29 15:43:48 +00:00
Thomas Adam bfd7209053 Merge branch 'obsd-master' 2017-05-29 10:01:15 +01:00
nicm 15253448af Tweak text to mention initial size, from John Hood. 2017-05-29 07:46:32 +00:00
Thomas Adam 0868512bbc Merge branch 'obsd-master' 2017-05-10 16:01:10 +01:00
nicm b519551153 Expand formats in option names and add -F flag to do so in option values as well. 2017-05-10 13:05:41 +00:00
Thomas Adam a651b08a2f Merge branch 'obsd-master'
Conflicts:
	format.c
2017-05-09 15:44:13 +01:00
nicm 5fee4638e0 Add a format for the name of the pane's mode, lets it be used as a
conditional for key bindings.
2017-05-07 22:27:57 +00:00
nicm 2fef10b9ac Add some formats to look at the session window stack, suggested by Scott
ROCHFORD.
2017-05-05 11:59:47 +00:00
Thomas Adam f3221941f2 Merge branch 'obsd-master' 2017-05-04 10:01:12 +01:00
nicm d98d316903 Some new notifications, mainly for active pane and current window and
session:

    pane-mode-changed
    window-pane-changed
    client-session-changed
    session-window-changed

From Joshua Brot.
2017-05-04 07:16:43 +00:00
Thomas Adam 97ecb4f9d8 Merge branch 'obsd-master' 2017-05-03 08:01:14 +01:00
nicm ca6a121e63 Add a format for the last search string in copy mode and fix the prompt
so it can work when in -I, suggested by Suraj N Kurapati.
2017-05-03 05:53:34 +00:00
Thomas Adam 99b0f48b2e Merge branch 'obsd-master' 2017-04-28 16:01:12 +01:00
nicm c12711affd Default for xterm-keys was wrong, stop documenting it. 2017-04-28 13:39:59 +00:00
Thomas Adam d8398af770 Merge branch 'obsd-master' 2017-04-22 08:01:54 +01:00
nicm 59ff9b8128 Typo in example. 2017-04-22 06:15:22 +00:00
Thomas Adam 48371216df Merge branch 'obsd-master' 2017-04-20 12:01:14 +01:00
nicm 0b44ad99b5 If a #() command doesn't exit, use its most recent line of output (it
must be a full line). Don't let it redraw the status line more than once
a second.

Requested by someone about 10 years ago...
2017-04-20 09:20:22 +00:00
Thomas Adam 85af9c9c9d Merge branch 'obsd-master' 2017-04-19 10:01:12 +01:00
nicm fa6deb5866 When the data we have buffered to write to a terminal grows beyond a
reasonable amount (currently width * height * 8 bytes), discard all
output to the terminal and start trying to redraw periodically
instead. Continue with this until the amount of data we are trying to
write falls to a low level again.

This helps to prevent tmux sitting on a huge buffer of data when there
are processes with fast output running inside tmux but the outside
terminal is slow.

A new client_discarded format holds the amount of data that has been
discarded due to this mechanism.

The three variables (when to start this, when to stop, and how often to
redraw) are basically "works for me" at the moment, this is going in to
see how it goes and if it causes problems for anyone else.
2017-04-19 06:52:27 +00:00
Thomas Adam a54309147d Merge branch 'obsd-master' 2017-04-18 18:01:17 +01:00