Commit Graph

  • a09d8e88fc Use -std=gnu99 not c99 with GCC. Nicholas Marriott 2013-03-25 12:16:03 +00:00
  • b5fda7ad2a Spacing, warning nits. Nicholas Marriott 2013-03-25 12:00:30 +00:00
  • 58bb6f8c56 Set pane resize flag when needed. Nicholas Marriott 2013-03-25 11:55:01 +00:00
  • 673eb160d4 Sort includes and fix spaces. Nicholas Marriott 2013-03-25 11:53:54 +00:00
  • e97e0d7e54 Man page fixes. Nicholas Marriott 2013-03-25 11:49:54 +00:00
  • 4119c476aa b comes before t. Nicholas Marriott 2013-03-25 11:46:28 +00:00
  • e2295014d9 Process ^[ as meta when a partial key is found. Nicholas Marriott 2013-03-25 11:44:16 +00:00
  • 43fb9835fa Add -P and -F to new-session. Nicholas Marriott 2013-03-25 11:44:00 +00:00
  • 599dd2a560 Create a new context when copying instead of using the input context. The input context may not exist yet. Fixes crash when copying from config file errors. Nicholas Marriott 2013-03-25 11:43:33 +00:00
  • d28a39d01d Extend jobs to support writing and use that for copy-pipe instead of popen, from Chris Johnsen. Nicholas Marriott 2013-03-25 11:43:01 +00:00
  • 270d90ce1e Handle empty pending output (not a failure) and add \n. From George Nachman. Nicholas Marriott 2013-03-25 11:42:19 +00:00
  • 0c969a7dfd Handle no client better in display-message. Nicholas Marriott 2013-03-25 11:42:01 +00:00
  • 111d993e75 When only two panes in a window, only draw half the separating line as active. Nicholas Marriott 2013-03-25 11:41:49 +00:00
  • 0ef24f9912 Only send end guard if begin was sent, from George Nachman. Nicholas Marriott 2013-03-25 11:41:16 +00:00
  • 87fe1c0b0e Include prefix on ids, from George Nachman. Nicholas Marriott 2013-03-25 11:40:54 +00:00
  • 114d822d27 Don't zoom windows with one pane, from Romain Francoise. Nicholas Marriott 2013-03-25 11:39:11 +00:00
  • 88b92df849 We ignore SIGWINCH until ready, so send a MSG_RESIZE immediately when becoming ready. Nicholas Marriott 2013-03-25 11:38:57 +00:00
  • e4c0730bf1 Use single stdout and stderr for control clients. Nicholas Marriott 2013-03-25 11:36:59 +00:00
  • 8a40e10d55 Add time and a command count to control mode guards, based on code from George Nachman. Nicholas Marriott 2013-03-25 11:35:55 +00:00
  • e0961dfdf4 Fix handling of short (< 4 character) checksums and a bug with parsing old-style custom layouts. Based on fix from Chris Johnsen. Nicholas Marriott 2013-03-25 11:35:30 +00:00
  • 446fb0cb9c Do not redraw panes if invisible. Nicholas Marriott 2013-03-25 10:12:01 +00:00
  • 6fee3e9e4b Rename session idx to session id throughout and add $ prefix to targets to use it, extended from a diff from George Nachman. Nicholas Marriott 2013-03-25 10:11:45 +00:00
  • 748acdc77c Add wait-for -L and -U for lock and unlock, from Thiago Padilha. Nicholas Marriott 2013-03-25 10:09:35 +00:00
  • 410a3abbef Add a wait-for command which blocks a client on a named channel until it is woken up again (with wait-for -S). From Thiago Padilha. Nicholas Marriott 2013-03-25 10:09:05 +00:00
  • 304336a591 Allow lastgc to be NULL in grid_string_cells so find-window doesn't crash, problem reported by eugene everson. Nicholas Marriott 2013-03-25 10:07:40 +00:00
  • 35452b3e55 Do not leak command in formats, from Romain Francoise. Nicholas Marriott 2013-03-25 10:07:21 +00:00
  • ebd9c615c8 Add some additional debug logging. Nicholas Marriott 2013-03-25 10:06:13 +00:00
  • e9cef8bf30 Continue the parent cmdq after sourcing a file. Nicholas Marriott 2013-03-25 10:05:58 +00:00
  • e85f764f23 Preserve trailing spaces with capture-pane -J, from George Nachman. Nicholas Marriott 2013-03-25 10:05:35 +00:00
  • e2e85650ac tty.path can be NULL, don't dereference it. From George Nachman. Nicholas Marriott 2013-03-25 10:04:44 +00:00
  • 2c14a771a8 Remove some unused/unnecessary control notifications, from George Nachman. Nicholas Marriott 2013-03-25 10:04:23 +00:00
  • d39b1a87a5 Add -q flags to shut up errors to capture-pane and show-options, from George Nachman. Nicholas Marriott 2013-03-25 10:04:04 +00:00
  • 62db3c8efe Send DSC 1000p at the beginning of a -CC client's lifetime and ST and the end, from George Nachman. Nicholas Marriott 2013-03-25 10:03:24 +00:00
  • efa06643b0 Remove previous. Nicholas Marriott 2013-03-25 10:03:00 +00:00
  • 14fad6a5cc Add -A flag to new-session to make it behave like attach-session if the session exists. If -A is used, -D behaves like -d to attach-session. Nicholas Marriott 2013-03-24 09:58:40 +00:00
  • c71844de63 Add resize-pane -Z to temporary zoom the active pane to occupy the full window or unzoom (restored to the normal layout) if it already zoomed, bound to C-b z by default. The pane is unzoomed on pretty much any excuse whatsoever. Nicholas Marriott 2013-03-24 09:57:59 +00:00
  • a05b8c4143 Add a -o option to set-option to prevent setting an option already set, from Thiago Padilha. Nicholas Marriott 2013-03-24 09:55:02 +00:00
  • 20636d956d 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. Nicholas Marriott 2013-03-24 09:54:10 +00:00
  • 66edb3392b Expand format variables in the run-shell and if-shell shell commands, from Thiago Padilha. Nicholas Marriott 2013-03-24 09:33:35 +00:00
  • 86adcd4b26 Add pane_tabs format to format_window_pane based on code from George Nachman. Nicholas Marriott 2013-03-24 09:29:40 +00:00
  • a60687f9ba Handle focus events from the terminal, from Aaron Jensen. Nicholas Marriott 2013-03-24 09:28:59 +00:00
  • bb8457b166 Fix error reporting for client commands by adding a flag to cmd_find_client to tell it whether or not to show errors, sometimes it's needed and sometimes not. Nicholas Marriott 2013-03-24 09:27:19 +00:00
  • 3eae71b5b2 Do pane resize ioctls once at the end of the server loop rather than immediately. Nicholas Marriott 2013-03-24 09:25:04 +00:00
  • 8094e82287 Add option command-prefix which is automatically prepended to any command (apart from a naked default-shell). The default is "exec ". Nicholas Marriott 2013-03-24 09:21:27 +00:00
  • 1ec4354998 Add support for focus notifications when tmux pane changes, based on work by Aaron Jensen. Nicholas Marriott 2013-03-24 09:18:16 +00:00
  • ac1fe83596 Couple of fixes pointed out by jmc. Nicholas Marriott 2013-03-22 18:45:36 +00:00
  • c7d1849e1c Process ^[ as meta when a partial key is found. Nicholas Marriott 2013-03-22 17:02:12 +00:00
  • 7f191c7951 Add -P and -F to new-session. Nicholas Marriott 2013-03-22 17:01:15 +00:00
  • 702ab8bab0 Add a load of miscellaneous pane formats, from George Nachman. Nicholas Marriott 2013-03-22 16:03:35 +00:00
  • eaaeb28cda Add session_set_current helper function, extracted from a diff from Aaron Jensen. Nicholas Marriott 2013-03-22 16:00:26 +00:00
  • 295d86911e Add -C and -J to capture pane to escape control sequences and to join wrapped line, based on a diff from George Nachman. Nicholas Marriott 2013-03-22 15:56:11 +00:00
  • c519f9a84c evbuffer_readline returns allocated storage, don't leak it. Nicholas Marriott 2013-03-22 15:55:22 +00:00
  • 2243cfbe75 Need to set clients in context before changing their reference count. Nicholas Marriott 2013-03-22 15:54:29 +00:00
  • d644e5143f Fix so capture-pane/save-buffer can work in control clients, from George Nachman. Nicholas Marriott 2013-03-22 15:53:24 +00:00
  • 58932295fc Add copy-pipe mode command to copy selection and also pipe to a command. Nicholas Marriott 2013-03-22 15:52:40 +00:00
  • 8478895eeb Add -e flag to capture-pane to include embedded ANSI SGR escape sequences, from George Nachman. Nicholas Marriott 2013-03-22 15:51:54 +00:00
  • 8a6fbfa148 Don't use a target-client for stdout, just always cmdclient. Nicholas Marriott 2013-03-22 15:51:15 +00:00
  • a1722d5c2e Remove unnecessary initializers of cmd_ctx. Nicholas Marriott 2013-03-22 15:50:42 +00:00
  • 0ff9275ad7 load_cfg can actually use the same context now they are reference counted. Nicholas Marriott 2013-03-22 15:50:13 +00:00
  • d1e6ce2672 Add functions to allocate and free command contexts rather than doing it all on the stack. Nicholas Marriott 2013-03-22 15:49:55 +00:00
  • 0ccd84d2ef Instead of skipping del_curterm on FreeBSD < 7, skip it on ncurses < 5.7. It looks like 5.6 on Linux has the problem too. Reported by Myles Dear. Nicholas Marriott 2013-03-22 15:36:45 +00:00
  • 29613f2f31 Prevent lock on control clients, not on others. Nicholas Marriott 2013-03-22 10:42:55 +00:00
  • 8c545bbfa8 Don't try to print unterminated strings when loading configuration file. Nicholas Marriott 2013-03-22 10:41:57 +00:00
  • f19836550b Unbreak line wrapping. Nicholas Marriott 2013-03-22 10:41:01 +00:00
  • 79f5fe6f5b Use tty_raw on stop, not tty_puts. Nicholas Marriott 2013-03-22 10:40:22 +00:00
  • 2f5fa4ee9d Don't hang when clearing line in choose mode now that the cursor stays at the end with wrap. Nicholas Marriott 2013-03-22 10:38:33 +00:00
  • db66d85176 Fix double space in sessions template. Nicholas Marriott 2013-03-22 10:38:13 +00:00
  • f0efa576e0 Add resize-pane -x and -y for absolute pane size (much requested). Nicholas Marriott 2013-03-22 10:37:39 +00:00
  • ad5df9bc2f Implement DECAWM (SM/RM 7) using existing MODE_WRAP flag. Nicholas Marriott 2013-03-22 10:36:53 +00:00
  • 22a2949bd2 Correctly handle UTF8 mouse option being toggled, from Egmont Koblinger. Nicholas Marriott 2013-03-22 10:34:46 +00:00
  • 67b4d5b609 Support the latest theory for mouse input, this is enabled/disabled with SM/RM 1006 and is similar in style to SGR input: \033[<b;x;yM or \033[b;x;ym. From Egmont Koblinger. Nicholas Marriott 2013-03-22 10:33:50 +00:00
  • ad760b3bf7 Add client_session and client_last_session formats. Nicholas Marriott 2013-03-22 10:32:36 +00:00
  • 8d59b189cc No more lint means no more ARGSUSED. Nicholas Marriott 2013-03-22 10:31:22 +00:00
  • 306a3b8d80 In terminals with XT, turn on modifyOtherKeys=1 with the escape sequence and handle the most common set. Pass them through if xterm-keys is on. Nicholas Marriott 2013-03-22 10:30:04 +00:00
  • 041a911c43 Create a new context when copying instead of using the input context. The input context may not exist yet. Nicholas Marriott 2013-03-21 23:57:21 +00:00
  • 10682b9e7e Instead of loads of little screen_write_*_on and off functions which just change mode flags, just have screen_write_mode_set and screen_write_mode_clear. Nicholas Marriott 2013-03-21 18:47:56 +00:00
  • c5504af4a6 Add various checks to turn off bits that can't work in control mode (such as lock). Nicholas Marriott 2013-03-21 18:47:01 +00:00
  • 49ac5b5fe0 Do not include status line in size calculations in control mode. Nicholas Marriott 2013-03-21 18:46:12 +00:00
  • d4785fe798 Don't set key KEYC_NONE on xterm_keys_find match() Nicholas Marriott 2013-03-21 18:45:38 +00:00
  • 3d24c75d0f Include the \033 in the key tree and adjust key matching for this change. Nicholas Marriott 2013-03-21 18:44:47 +00:00
  • 78543cce30 Support capture-pane -p to send to stdout. Nicholas Marriott 2013-03-21 18:43:34 +00:00
  • 55bf2ecc68 tweak previous; ok nicm Jason McIntyre 2013-03-21 17:42:36 +00:00
  • 51ac2a3202 Fix a couple of memory leaks, from Romain Francoise. Nicholas Marriott 2013-03-21 16:54:37 +00:00
  • 48291f0eeb Make choose-tree actually work again. Nicholas Marriott 2013-03-21 16:53:12 +00:00
  • d5139d1401 Fix a comment for new key table names. Nicholas Marriott 2013-03-21 16:52:02 +00:00
  • 3665be7c44 Tidy by splitting default key tables into two. Nicholas Marriott 2013-03-21 16:50:22 +00:00
  • 801d64a16e Add -c to refresh-client to set client size in control mode, based on code from George Nachman. Nicholas Marriott 2013-03-21 16:49:37 +00:00
  • dd46c95e23 Aargh. Spaces -> tabs. Nicholas Marriott 2013-03-21 16:25:08 +00:00
  • 4920306486 Clarify choose-tree entry in man page. Nicholas Marriott 2013-03-21 16:23:46 +00:00
  • 66414029a1 Run session command before window in choose-tree. Nicholas Marriott 2013-03-21 16:23:07 +00:00
  • 51d989f5df Do not crash when calling choose-tree with a command that changes the mode. Nicholas Marriott 2013-03-21 16:22:48 +00:00
  • c982279950 Fix constness of cmd_template_replace, window_choose_add_item and window_choose_add_window. Nicholas Marriott 2013-03-21 16:19:25 +00:00
  • 0c0953f3bd Add user options, prefixed with @. May be set to any arbitrary string. Nicholas Marriott 2013-03-21 16:17:01 +00:00
  • 69fe5ca567 Add -v to set and setw to show only option value. Nicholas Marriott 2013-03-21 16:15:52 +00:00
  • 63b4fd5cac Add a format client_prefix which is 1 if prefix key has been pressed, used for example #{?client_prefix,X,Y}. Also a few extra server_client_status needed. Nicholas Marriott 2013-03-21 16:14:09 +00:00
  • dd76497ab0 Show alias in lscm output. Nicholas Marriott 2013-03-21 16:12:50 +00:00
  • 9b7e18f166 Rework reflow code so it does not do so much allocation which should be faster with large histories. Nicholas Marriott 2013-03-21 16:12:10 +00:00
  • 180faf73af Allow choose commands to be used outside tmux, so long as at least one client is attached. Nicholas Marriott 2013-03-21 16:09:59 +00:00
  • 6ddb06d372 Extend jobs to support writing and use that for copy-pipe instead of popen, from Chris Johnsen. Nicholas Marriott 2013-03-21 14:24:33 +00:00
  • 69d97f6d4b Handle empty pending output (not a failure) and add \n. From George Nachman. Nicholas Marriott 2013-03-19 09:34:00 +00:00