Commit Graph

5741 Commits

Author SHA1 Message Date
Nicholas Marriott 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
Tiago Cunha 03ec2482c9 libevent-2 works now as well. 2011-01-03 23:58:10 +00:00
Tiago Cunha a2387330ce Zap paths.h include. 2011-01-03 23:55:30 +00:00
Tiago Cunha 3689640b4e Update _SOURCES. 2011-01-03 23:54:51 +00:00
Tiago Cunha 36c7c7537a Sync OpenBSD patchset 826:
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-03 23:52:38 +00:00
Nicholas Marriott 2bdae526ad More indentation tweaking. 2011-01-03 23:43:35 +00:00
Nicholas Marriott 69f6b23945 Include all osdep-*.c in dist. 2011-01-03 23:40:21 +00:00
Nicholas Marriott 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
Tiago Cunha a0e7facee6 Sync OpenBSD patchset 825:
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-03 23:33:12 +00:00
Tiago Cunha a24b67fc5a Sync OpenBSD patchset 824:
Last few tables that should be const.
2011-01-03 23:32:04 +00:00
Tiago Cunha 521247bedb Sync OpenBSD patchset 823:
Sprinkle a little more const.
2011-01-03 23:31:26 +00:00
Tiago Cunha 9ad028e8ee Sync OpenBSD patchset 822:
Another table that should be const.
2011-01-03 23:30:43 +00:00
Tiago Cunha d9c848d3a6 Sync OpenBSD patchset 821:
Key table should be const.
2011-01-03 23:29:49 +00:00
Tiago Cunha 66fb24c3a5 Sync OpenBSD patchset 820:
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-03 23:29:09 +00:00
Tiago Cunha d3c04b74ec Sync OpenBSD patchset 819:
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-03 23:27:54 +00:00
Tiago Cunha 09ef2c9f40 Sync OpenBSD patchset 818:
Remove unused variable.
2011-01-03 23:26:14 +00:00
Nicholas Marriott 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
Nicholas Marriott edc298d0a1 Wrap long line differently. 2011-01-02 15:49:31 +00:00
Nicholas Marriott 703baa8769 Fail if no libevent or curses, from Thomas Adam. 2011-01-02 15:45:43 +00:00
Nicholas Marriott 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
Nicholas Marriott 0d77e5e959 Make version more prominent. 2011-01-01 13:39:19 +00:00
Nicholas Marriott c120d09a5e libevent 2 works now as well. 2011-01-01 13:34:57 +00:00
Nicholas Marriott 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
Nicholas Marriott 3a0d40b84d Add. 2011-01-01 05:09:11 +00:00
Nicholas Marriott 234211a6f6 Add. 2011-01-01 05:01:54 +00:00
Nicholas Marriott f833b885a1 Last few tables that should be const. 2011-01-01 03:43:20 +00:00
Nicholas Marriott 67ee86085c Sprinkle a little more const. 2011-01-01 03:39:21 +00:00
Nicholas Marriott 5d0cfe079b Another table that should be const. 2011-01-01 03:32:28 +00:00
Nicholas Marriott 1c86713afd Key table should be const. 2011-01-01 02:16:25 +00:00
Nicholas Marriott 7ecbc18d5d Also done. 2011-01-01 02:00:50 +00:00
Nicholas Marriott dc7fb15251 Remove some done or duplicates, reorder. 2011-01-01 01:59:03 +00:00
Nicholas Marriott 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
Nicholas Marriott 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
Nicholas Marriott 91218f8714 Remove unused variable. 2011-01-01 00:44:24 +00:00
Nicholas Marriott ce79d6081f And moar. 2010-12-31 22:33:44 +00:00
Nicholas Marriott d5a63c21b4 Make indentation better. 2010-12-31 22:31:45 +00:00
Nicholas Marriott b066ad0fd8 Default enable-debug to on in CVS (can be changed for releases). 2010-12-31 22:18:35 +00:00
Nicholas Marriott 620b59e843 RCS $Id$. 2010-12-31 22:13:48 +00:00
Nicholas Marriott f71b3054cd Switch tmux to use autoconf and automake.
Although they suck, they suck less than the alternatives.
2010-12-31 22:12:33 +00:00
Tiago Cunha 60dd440082 Sync OpenBSD patchset 817:
fix trailing whitespace;
2010-12-31 02:00:30 +00:00
Tiago Cunha f72f21951c Sync OpenBSD patchset 816:
Remove some unused defines.
2010-12-31 01:59:47 +00:00
Tiago Cunha 67b333ec84 Sync OpenBSD patchset 815:
Fix BUFFERS section now they are global.
2010-12-31 01:58:27 +00:00
Nicholas Marriott b9f36cc226 +. 2010-12-31 01:39:50 +00:00
Jason McIntyre 1a1efd5bc9 fix trailing whitespace; 2010-12-31 00:41:11 +00:00
Nicholas Marriott 4fb1045f5a Remove some unused defines. 2010-12-30 23:20:13 +00:00
Nicholas Marriott 2b3c2fd852 Fix BUFFERS section now they are global. 2010-12-30 23:17:41 +00:00
Nicholas Marriott 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
Tiago Cunha bbf44d6ff3 Done. 2010-12-30 23:15:34 +00:00
Tiago Cunha 9ebee6aef8 Global paste buffers instead of per-session which renders copy-buffer useless.
As a consequence buffer-limit is now a server option.
2010-12-30 22:39:49 +00:00
Tiago Cunha 095e1b410a Sync OpenBSD patchset 812:
Support all four of the xterm mouse modes. Based on a diff from hsim at
gmx.li.
2010-12-30 22:27:38 +00:00