Up to [local] / src / usr.bin / tmux
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.35, Wed Jan 22 14:43:42 2014 UTC (10 years, 4 months ago) by nicm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.34: +1 -1 lines
FILE REMOVED
Merge server-info into show-messages and remove some not useful output.
Revision 1.34 / (download) - annotate - [select for diffs], Thu Oct 10 12:00:23 2013 UTC (10 years, 8 months ago) by nicm
Branch: MAIN
Changes since 1.33: +1 -2 lines
Diff to previous 1.33 (colored) to selected 1.21 (colored)
Remove the barely-used and unnecessary command check() function.
Revision 1.33 / (download) - annotate - [select for diffs], Mon Mar 25 10:11:45 2013 UTC (11 years, 2 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE,
OPENBSD_5_4
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored) to selected 1.21 (colored)
Rename session idx to session id throughout and add $ prefix to targets to use it, extended from a diff from George Nachman.
Revision 1.32 / (download) - annotate - [select for diffs], Sun Mar 24 09:54:10 2013 UTC (11 years, 2 months ago) by nicm
Branch: MAIN
Changes since 1.31: +28 -28 lines
Diff to previous 1.31 (colored) to selected 1.21 (colored)
Add a command queue to standardize and simplify commands that call other commands and allow a command to block execution of subsequent commands. This allows run-shell and if-shell to be synchronous which has been much requested. Each client has a default command queue and commands are consumed one at a time from it. A command may suspend execution from the queue by returning CMD_RETURN_WAIT and then resume it by calling cmd_continue() - for example run-shell does this from the callback that is fired after the job is freed. When the command queue becomes empty, command clients are automatically exited (unless attaching). A callback is also fired - this is used for nested commands in, for example, if-shell which can block execution of the client's cmdq until a new cmdq becomes empty. Also merge all the old error/info/print functions together and lose the old curclient/cmdclient distinction - a cmdq is bound to one client (or none if in the configuration file), this is a command client if c->session is NULL otherwise an attached client.
Revision 1.31 / (download) - annotate - [select for diffs], Fri Mar 22 10:31:22 2013 UTC (11 years, 2 months ago) by nicm
Branch: MAIN
Changes since 1.30: +1 -2 lines
Diff to previous 1.30 (colored) to selected 1.21 (colored)
No more lint means no more ARGSUSED.
Revision 1.30 / (download) - annotate - [select for diffs], Fri Jan 18 02:16:21 2013 UTC (11 years, 4 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE,
OPENBSD_5_3
Changes since 1.29: +13 -21 lines
Diff to previous 1.29 (colored) to selected 1.21 (colored)
Rather than having two grids for each pane, one for ASCII and one for UTF-8, collapse the two together. Simplifies the code at the expense of more memory (which can probably be reduced again later).
Revision 1.29 / (download) - annotate - [select for diffs], Thu Nov 22 14:41:11 2012 UTC (11 years, 6 months ago) by nicm
Branch: MAIN
Changes since 1.28: +2 -2 lines
Diff to previous 1.28 (colored) to selected 1.21 (colored)
Put helper function back, will be needed in a bit.
Revision 1.28 / (download) - annotate - [select for diffs], Thu Nov 22 14:26:04 2012 UTC (11 years, 6 months ago) by nicm
Branch: MAIN
Changes since 1.27: +3 -3 lines
Diff to previous 1.27 (colored) to selected 1.21 (colored)
Instead of worrying about xterm version, send DA and read DEC service class which is more likely to be useful. Not used for anything yet anyway.
Revision 1.27 / (download) - annotate - [select for diffs], Wed Jul 11 07:10:15 2012 UTC (11 years, 11 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE,
OPENBSD_5_2
Changes since 1.26: +4 -4 lines
Diff to previous 1.26 (colored) to selected 1.21 (colored)
Make command exec functions return an enum rather than -1/0/1 values and add a new value to mean "leave client running but don't attach" to fix problems with using some commands in a command sequence. Most of the work by Thomas Adam, problem reported by "jspenguin" on SF bug 3535531.
Revision 1.26 / (download) - annotate - [select for diffs], Thu Mar 15 10:36:00 2012 UTC (12 years, 2 months ago) by nicm
Branch: MAIN
Changes since 1.25: +6 -6 lines
Diff to previous 1.25 (colored) to selected 1.21 (colored)
Send secondary DA to terminals with XT in terminfo when starting up and parse it to work out the xterm version.
Revision 1.25 / (download) - annotate - [select for diffs], Tue Apr 19 20:12:47 2011 UTC (13 years, 1 month ago) by matthew
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE,
OPENBSD_5_1,
OPENBSD_5_0_BASE,
OPENBSD_5_0
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored) to selected 1.21 (colored)
POSIX only guarantees uname() will return a non-negative value on success. ok nicm@
Revision 1.24 / (download) - annotate - [select for diffs], Wed Jan 26 01:54:56 2011 UTC (13 years, 4 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE,
OPENBSD_4_9
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored) to selected 1.21 (colored)
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).
Revision 1.23 / (download) - annotate - [select for diffs], Wed Jan 26 00:11:47 2011 UTC (13 years, 4 months ago) by nicm
Branch: MAIN
Changes since 1.22: +3 -3 lines
Diff to previous 1.22 (colored) to selected 1.21 (colored)
Use LIST_* not SLIST_*.
Revision 1.22 / (download) - annotate - [select for diffs], Thu Jan 13 00:54:32 2011 UTC (13 years, 5 months ago) by nicm
Branch: MAIN
Changes since 1.21: +4 -3 lines
Diff to previous 1.21 (colored)
Log termios backspace for each client since it is used to recognise backspace input.
Revision 1.21 / (download) - annotate - [selected], Tue Jan 4 00:42:47 2011 UTC (13 years, 5 months ago) by nicm
Branch: MAIN
Changes since 1.20: +4 -5 lines
Diff to previous 1.20 (colored)
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.
Revision 1.20 / (download) - annotate - [select for diffs], Sat Jan 1 03:32:28 2011 UTC (13 years, 5 months ago) by nicm
Branch: MAIN
Changes since 1.19: +19 -19 lines
Diff to previous 1.19 (colored) to selected 1.21 (colored)
Another table that should be const.
Revision 1.19 / (download) - annotate - [select for diffs], Tue Dec 21 22:37:59 2010 UTC (13 years, 5 months ago) by nicm
Branch: MAIN
Changes since 1.18: +4 -11 lines
Diff to previous 1.18 (colored) to selected 1.21 (colored)
Store sessions in an RB tree by name rather than a list, this is tidier and allows them to easily be shown sorted in various lists (list-sessions/choose-sessions). Keep a session index which is used in a couple of places internally but make it an ever-increasing number rather than filling in gaps with new sessions.
Revision 1.18 / (download) - annotate - [select for diffs], Thu Dec 10 09:16:52 2009 UTC (14 years, 6 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE,
OPENBSD_4_8,
OPENBSD_4_7_BASE,
OPENBSD_4_7
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored) to selected 1.21 (colored)
Add "server options" which are server-wide and not bound to a session or window. Set and displayed with "set -s" and "show -s". Currently the only option is "quiet" (like command-line -q, allowing it to be set from .tmux.conf), but others will come along.
Revision 1.17 / (download) - annotate - [select for diffs], Thu Dec 3 22:50:10 2009 UTC (14 years, 6 months ago) by nicm
Branch: MAIN
Changes since 1.16: +5 -5 lines
Diff to previous 1.16 (colored) to selected 1.21 (colored)
Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last time now I've configured emacs to make them displayed in really annoying colours...
Revision 1.16 / (download) - annotate - [select for diffs], Thu Nov 26 21:37:13 2009 UTC (14 years, 6 months ago) by nicm
Branch: MAIN
Changes since 1.15: +2 -1 lines
Diff to previous 1.15 (colored) to selected 1.21 (colored)
Remove a couple of unused arguments where possible, and add /* ARGSUSED */ to the rest to reduce lint output.
Revision 1.15 / (download) - annotate - [select for diffs], Fri Nov 13 19:53:29 2009 UTC (14 years, 6 months ago) by nicm
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14 (colored) to selected 1.21 (colored)
Get rid of the ugly CMD_CHFLAG macro and use a const string (eg "dDU") in the command entry structs and a couple of functions to check/set the flags.
Revision 1.14 / (download) - annotate - [select for diffs], Tue Nov 3 20:29:47 2009 UTC (14 years, 7 months ago) by nicm
Branch: MAIN
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored) to selected 1.21 (colored)
Change session and client activity and creation time members to have more meaningful names. Also, remove the code to try and update the session activity time for the command client when a command message is received as is pointless because it des not have a session.
Revision 1.13 / (download) - annotate - [select for diffs], Sun Nov 1 23:20:37 2009 UTC (14 years, 7 months ago) by nicm
Branch: MAIN
Changes since 1.12: +8 -1 lines
Diff to previous 1.12 (colored) to selected 1.21 (colored)
Add a flag for jobs that shouldn't be freed after they've died and use it for status jobs, then only kill those jobs when status-left, status-right or set-titles-string is changed. Fixes problems with changing options from inside #().
Revision 1.12 / (download) - annotate - [select for diffs], Mon Oct 26 21:42:04 2009 UTC (14 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored) to selected 1.21 (colored)
tabs are better; ok nicm
Revision 1.11 / (download) - annotate - [select for diffs], Tue Oct 13 13:15:26 2009 UTC (14 years, 8 months ago) by nicm
Branch: MAIN
Changes since 1.10: +3 -4 lines
Diff to previous 1.10 (colored) to selected 1.21 (colored)
Do this in a better way - print messages when exiting with nonzero. Also remove the login shell information from server-info, only the client should care about it.
Revision 1.10 / (download) - annotate - [select for diffs], Mon Sep 7 21:01:50 2009 UTC (14 years, 9 months ago) by nicm
Branch: MAIN
Changes since 1.9: +8 -6 lines
Diff to previous 1.9 (colored) to selected 1.21 (colored)
Reference count clients and sessions rather than relying on a saved index for cmd-choose-*.
Revision 1.9 / (download) - annotate - [select for diffs], Wed Sep 2 17:34:57 2009 UTC (14 years, 9 months ago) by nicm
Branch: MAIN
Changes since 1.8: +4 -3 lines
Diff to previous 1.8 (colored) to selected 1.21 (colored)
Accept -l to make it easier for people who use tmux as a login shell to use $SHELL. Originally from martynas@, tweaked by me.
Revision 1.8 / (download) - annotate - [select for diffs], Tue Aug 18 14:48:42 2009 UTC (14 years, 9 months ago) by nicm
Branch: MAIN
Changes since 1.7: +5 -5 lines
Diff to previous 1.7 (colored) to selected 1.21 (colored)
Tag a few missed printf-like functions and fix a missing "%s".
Revision 1.7 / (download) - annotate - [select for diffs], Tue Aug 11 17:18:35 2009 UTC (14 years, 10 months ago) by nicm
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored) to selected 1.21 (colored)
Switch tmux to use imsg. This is the last major change to make the client-server protocol more resilient and make the protocol versioning work properly. In future, the only things requiring a protocol version bump will be changes in the message structs, and (when both client and server have this change) mixing different versions should nicely report an error message. As a side effect this also makes the code tidier, fixes a problem with the way errors reported during server startup were handled, and supports fd passing (which will be used in future). Looked over by eric@, thanks. Please note that mixing a client with this change with an older server or vice versa may cause tmux to crash or hang - tmux should be completely exited before upgrading.
Revision 1.6 / (download) - annotate - [select for diffs], Sat Aug 8 13:29:27 2009 UTC (14 years, 10 months ago) by nicm
Branch: MAIN
Changes since 1.5: +9 -7 lines
Diff to previous 1.5 (colored) to selected 1.21 (colored)
Change the way the grid is stored, previously it was: - a two-dimensional array of cells; - a two-dimensional array of utf8 data; - an array of line lengths. Now it is a single array of a new struct grid_line each of which represents a line and containts the length and an array of cells and an array of utf8 data. This will make it easier to add additional per-line members, such as flags.
Revision 1.5 / (download) - annotate - [select for diffs], Tue Jul 28 06:48:44 2009 UTC (14 years, 10 months ago) by nicm
Branch: MAIN
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored) to selected 1.21 (colored)
If select-layout is not given an argument, repply the last layout used in the window, if any.
Revision 1.4 / (download) - annotate - [select for diffs], Sun Jul 26 12:58:44 2009 UTC (14 years, 10 months ago) by nicm
Branch: MAIN
Changes since 1.3: +1 -3 lines
Diff to previous 1.3 (colored) to selected 1.21 (colored)
Make all messages sent between the client and server fixed size. This is the first of two changes to make the protocol more resilient and less sensitive to other changes in the code, particularly with commands. The client now packs argv into a buffer and sends it to the server for parsing, rather than doing it itself and sending the parsed command data. As a side-effect this also removes a lot of now-unused command marshalling code. Mixing a server without this change and a client with or vice versa will cause tmux to hang or crash, please ensure that tmux is entirely killed before upgrading.
Revision 1.3 / (download) - annotate - [select for diffs], Mon Jul 13 23:11:35 2009 UTC (14 years, 11 months ago) by nicm
Branch: MAIN
Changes since 1.2: +2 -2 lines
Diff to previous 1.2 (colored) to selected 1.21 (colored)
Having fixed flags for single-character getopt options is a bit hard to maintain and is only going to get worse as more are used. So instead, add a new uint64_t member to cmd_entry which is a bitmask of upper and lowercase options accepted by the command. This means new single character options can be used without the need to add it explicitly to the list.
Revision 1.2 / (download) - annotate - [select for diffs], Wed Jun 3 19:37:27 2009 UTC (15 years ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE,
OPENBSD_4_6
Changes since 1.1: +4 -3 lines
Diff to previous 1.1 (colored) to selected 1.21 (colored)
Use vis(3) instead of handrolled function.
Revision 1.1 / (download) - annotate - [select for diffs], Mon Jun 1 22:58:49 2009 UTC (15 years ago) by nicm
Branch: MAIN
Diff to selected 1.21 (colored)
Import tmux, a terminal multiplexor allowing (among other things) a single terminal to be switched between several different windows and programs displayed on one terminal be detached from one terminal and moved to another. ok deraadt pirofti