Commit Graph

1055 Commits

Author SHA1 Message Date
bcc7c689c1 Unused declaration. 2011-01-26 02:55:34 +00:00
db7a89b1ee Simplify the way jobs work and drop the persist type, so all jobs are
fire-and-forget.

Status jobs now managed with two trees of output (new and old), rather
than storing the output in the jobs themselves. When the status line is
processed any jobs which don't appear in the new tree are started and
the output from the old tree displayed. When a job finishes it updates
the new tree with its output and that is used for any subsequent
redraws. When the status interval expires, the new tree is moved to the
old so that all jobs are run again.

This fixes the "#(echo %H:%M:%S)" problem which would lead to thousands
of identical persistent jobs and high memory use (this can still be
achieved by adding "sleep 30" but that is much less likely to happen by
accident).
2011-01-26 01:54:56 +00:00
4dfb29fa38 Use LIST_* not SLIST_*. 2011-01-26 00:11:47 +00:00
ecc22c521d When clearing the entire screen, clear lines that are used into the
history like xterm does. Requested ages ago by someone I've forgotten.
2011-01-25 23:40:26 +00:00
1270f8fed8 Check if the index is in use and fail before creating the child process,
rather than leaving a stray child on failure.
2011-01-25 22:31:50 +00:00
1df3355438 While here, maximum percentage is 100 not INT_MAX. Oops. 2011-01-23 15:49:10 +00:00
8820aa9f65 Size is -l not -s. 2011-01-23 15:46:49 +00:00
3872e24847 Allow top-bit-set characters to be used for key bindings, from Tiago
Cunha.
2011-01-23 11:04:25 +00:00
b8023044c3 Set $TMUX without the session when background jobs are run. 2011-01-23 11:03:43 +00:00
1377427e70 Fix bind-key -t. 2011-01-15 20:14:41 +00:00
3de1700f61 Only set a mouse mode for mouse-select-pane if none already set by the
mode (any will do).
2011-01-15 00:46:19 +00:00
8f8e81c0c9 Mouse highlight mode (1001) requires a program to cooperate so
supporting it through tmux is not as easy as this, remove it for now.
2011-01-15 00:16:00 +00:00
4f34e25dd8 Support -x and -y for new-session to specify the initial size of the
window if created detached with -d.
2011-01-14 23:49:23 +00:00
9ad9e8c5dd The maximum history-limit was accidentally reduced, fix it back to INT_MAX. 2011-01-13 13:38:57 +00:00
fa4a75cdab Clarify alternate-screen description a little. 2011-01-13 09:50:11 +00:00
2d82567070 Er, fix next and previous session functions to actually work, part 2. 2011-01-13 02:08:14 +00:00
588ebb5393 Fix next and previous session functions to actually work. 2011-01-13 02:07:06 +00:00
96ab50a701 Log termios backspace for each client since it is used to recognise
backspace input.
2011-01-13 00:54:32 +00:00
b3438c86bf Use TMPDIR if set, from Han Boetes. 2011-01-12 22:23:58 +00:00
47e18f4cea unbind-key -a is allowed no arguments. 2011-01-10 21:28:47 +00:00
17f1cd5be8 Remove a bit of text that makes exit-unattached description unclear. 2011-01-09 18:46:46 +00:00
c3041eb9f0 Add missing arguments to some options. 2011-01-09 18:42:19 +00:00
69cb1f830e Move all calls to fcntl(...O_NONBLOCK) into a function and clear the
flag on the stdio file descriptors before closing them (fixes things
like "tmux ls && cat").
2011-01-08 01:52:36 +00:00
703160b5d6 Accept colours of the hex form #ffffff and translate to the nearest from
the xterm(1) 256-colour set.
2011-01-08 00:48:54 +00:00
64f02dab7c Whoops, command-prompt can take 0 or 1 argument. 2011-01-05 22:38:28 +00:00
96c37fa80a Now that parsing is common, merge some of the small, related commands
together to use the same code.

Also add some arguments (such as -n and -p) to some commands to match
existing commands.
2011-01-04 02:03:41 +00:00
55346b0d10 argc will be 1 not 2 with no option value. 2011-01-04 01:58:12 +00:00
7502cb3adb Clean up and simplify tmux command argument parsing.
Originally, tmux commands were parsed in the client process into a
struct with the command data which was then serialised and sent to the
server to be executed. The parsing was later moved into the server (an
argv was sent from the client), but the parse step and intermediate
struct was kept.

This change removes that struct and the separate parse step. Argument
parsing and printing is now common to all commands (in arguments.c) with
each command left with just an optional check function (to validate the
arguments at parse time), the exec function and a function to set up any
key bindings (renamed from the old init function).

This is overall more simple and consistent.

There should be no changes to any commands behaviour or syntax although
as this touches every command please watch for any unexpected changes.
2011-01-04 00:42:46 +00:00
ac3b78a841 Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262
and supports larger terminals than the older way.

If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all
UTF-8 terminals. The option defaults to on if LANG etc are set in the
same manner as the utf8 option.

With help and based on code from hsim at gmx.li.
2011-01-03 23:35:21 +00:00
5158dd9a8d Handle a # at the end of a replacement string (such as status-left)
correctly. Found by Thomas Adam.
2011-01-03 21:30:49 +00:00
3e8124009f Move the user-visible parts of all options (names, types, limit, default
values) together into one set of tables in options-table.c. Also clean
up and simplify cmd-set-options.c and move a common print function into
option-table.c.
2011-01-01 16:51:21 +00:00
a4515ce138 suspend-client has used -t for the client target (like everything else)
for ages, fix the usage string and man page and trim some leftover code.
2011-01-01 11:24:45 +00:00
f833b885a1 Last few tables that should be const. 2011-01-01 03:43:20 +00:00
67ee86085c Sprinkle a little more const. 2011-01-01 03:39:21 +00:00
5d0cfe079b Another table that should be const. 2011-01-01 03:32:28 +00:00
1c86713afd Key table should be const. 2011-01-01 02:16:25 +00:00
b6950ed8aa Add a -P option to new-window and split-window to print the new window
or pane index in target form (useful to pass it into other commands).
2011-01-01 01:33:07 +00:00
04b32fa734 Don't reset the activity timer for unattached sessions every second,
this screws up the choice of most-recently-used. Instead, break the time
update into a little function and do it when the session is attached.

Pointed out by joshe@.
2011-01-01 01:12:09 +00:00
91218f8714 Remove unused variable. 2011-01-01 00:44:24 +00:00
1a1efd5bc9 fix trailing whitespace; 2010-12-31 00:41:11 +00:00
4fb1045f5a Remove some unused defines. 2010-12-30 23:20:13 +00:00
2b3c2fd852 Fix BUFFERS section now they are global. 2010-12-30 23:17:41 +00:00
cc42614fa9 Change from a per-session stack of buffers to one global stack which is
much more convenient and also simplifies lot of code. This renders
copy-buffer useless and makes buffer-limit now a server option.

By Tiago Cunha.
2010-12-30 23:16:18 +00:00
2231e72968 Add a function to create window flags rather than doing the same thing
in two places. From Thomas Adam.
2010-12-30 21:35:17 +00:00
f7c42c21ba Support all four of the xterm mouse modes. Based on a diff from hsim at
gmx.li.
2010-12-29 21:49:06 +00:00
230e39ec35 Allow the config file parser and source-file to return "don't exit" to
the client to let attach work from configuration files.
2010-12-29 21:28:32 +00:00
efa8c93664 tweak previous; 2010-12-27 19:57:31 +00:00
3e0bc052e1 Add a missing .Pp and sort options alphabetically, from Tiago Cunha. 2010-12-27 18:22:25 +00:00
d3d25365f1 server_kill_window can modify the RB tree so don't use RB_FOREACH, fixes
crash seen by Dan Harnett.
2010-12-23 21:56:38 +00:00
6fd2b5b87f Style tweaks. 2010-12-23 20:18:39 +00:00