Commit Graph

  • dc56b3cd32 No paths.h. Nicholas Marriott 2020-05-16 20:27:00 +01:00
  • 2bc05db54f remove vis.h: portable doesn't need this Thomas Adam 2020-05-16 18:42:53 +01:00
  • bd87f6bf00 Merge branch 'obsd-master' Thomas Adam 2020-05-16 18:36:35 +01:00
  • 574a9e4b6c Move lazy resize from the pane to the window, there is no point in resizing the window unless it is the current window, and if we do and don't resize the pane until later there are problems if the size changes from A to B then back to A. nicm 2020-05-16 16:50:55 +00:00
  • 844b363baf On select-window, make this client the latest client for the window. nicm 2020-05-16 16:45:55 +00:00
  • 0ab82d9531 Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well. nicm 2020-05-16 16:44:54 +00:00
  • 292b335ca5 Separate key flags and modifiers, log key flags, make the "xterm" flag more explicit and fix M- keys with a leading escape. nicm 2020-05-16 16:35:13 +00:00
  • e2a26740b9 Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output. nicm 2020-05-16 16:26:34 +00:00
  • ecbdcc256f Add screen write flags instead of individual bits and fix line length calculation with padding. nicm 2020-05-16 16:22:01 +00:00
  • 303d342d5f Add a client flag 'active-pane' which stores the active pane in the client and allows it to be changed independently from the real active pane stored in the window. This is can be used with session groups which allow an independent current window (although it would be nice to have a flag for this too and remove session groups). The client active pane is only really useful interactively, many things (hooks, window-style, zooming) still use the window active pane. nicm 2020-05-16 16:20:59 +00:00
  • c914abfa19 Expand target from client and use it to expand the prompt. nicm 2020-05-16 16:16:07 +00:00
  • 72984c4834 Move editor stuff to common code in popup.c. nicm 2020-05-16 16:13:09 +00:00
  • ff8dd150e0 Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse. nicm 2020-05-16 16:10:28 +00:00
  • dceb6a15d0 Add a -D flag to ask tmux not to daemonize, useful both for running a debugger (lldb does not have follow-fork-mode) and for running with a managed supervisor init system. GitHub issue 2190. nicm 2020-05-16 16:07:55 +00:00
  • 126bacb473 Do not loop forever when search finds an empty match, GitHub issue 2203. nicm 2020-05-16 16:03:57 +00:00
  • 592f141dee Fix next-matching-bracket logic, from Chris Barber. nicm 2020-05-16 16:03:30 +00:00
  • d67245c734 Add a customize mode where keys and options may be browsed and changed, includes adding a brief description of each option. Bound to "C" by default. nicm 2020-05-16 16:02:24 +00:00
  • 472d77fd0f Support embedded styles in the display-message message, GitHub issue 2206. nicm 2020-05-16 15:54:20 +00:00
  • 6ea6d46d0a Store and restore cursor position when copy mode is resized, from Anindya Mukherjee. nicm 2020-05-16 15:49:20 +00:00
  • daa95810b5 Allow a custom time format to be given to the t format modifier. nicm 2020-05-16 15:48:35 +00:00
  • 367b4e4e0f Change message log to be per server rather than per client and include every command that is run. nicm 2020-05-16 15:47:22 +00:00
  • 4de0bd4c5c Add M-+ and M-- to expand and collapse all items in tree mode. nicm 2020-05-16 15:46:01 +00:00
  • cf9baddd6f Change the existing client flags for control mode to apply for any client, use the same mechanism for the read-only flag and add an ignore-size flag. nicm 2020-05-16 15:45:29 +00:00
  • 469eda7e44 Only redraw popup on the client it belongs to. nicm 2020-05-16 15:41:54 +00:00
  • 4e053685df Export TERM_PROGRAM and TERM_PROGRAM_VERSION like various other terminals. nicm 2020-05-16 15:40:44 +00:00
  • beb214bcb3 Add formats for after hook command arguments. nicm 2020-05-16 15:40:04 +00:00
  • d056144aa1 Try to search the entire history first for up to 200 ms so a search count can be shown. If it takes too long, search the visible text only. nicm 2020-05-16 15:38:14 +00:00
  • 3fb4d4df43 Do not need to work out status line offset, we already have it. nicm 2020-05-16 15:36:57 +00:00
  • 2df75aa117 Use VIS_CSTYLE for paste buffers also. nicm 2020-05-16 15:35:19 +00:00
  • 9605b080f6 Do not hoke into struct window_pane from the tty code and instead set everything up in tty_ctx. Provide a way to initialize the tty_ctx from a callback and use it to let popups draw directly through input_parse in the same way as panes do, rather than forcing a full redraw on every change. nicm 2020-05-16 15:34:08 +00:00
  • 379ca54c80 Rename and tidy some stuff in struct tty_ctx. nicm 2020-05-16 15:27:08 +00:00
  • edeb81ba9e Add -e for new-session to set environment variables. nicm 2020-05-16 15:25:24 +00:00
  • 78595457f9 Add 'e' key in buffer mode to open the buffer in an editor. nicm 2020-05-16 15:24:28 +00:00
  • a3cbc014c3 Use formats for status-style and message-style. nicm 2020-05-16 15:19:04 +00:00
  • 58fb81d19a Complete partial window indexes properly. nicm 2020-05-16 15:18:17 +00:00
  • 463864f5a2 Add -W and -T flags to command-prompt to only complete a window and a target, also complete aliases. nicm 2020-05-16 15:16:36 +00:00
  • 2391fe23ab Copy mode search improvements: nicm 2020-05-16 15:11:52 +00:00
  • 80e52545a0 Improve command prompt completion: nicm 2020-05-16 15:06:03 +00:00
  • f03b61131b Drop having a separate type for style options and make them all strings, which allows formats to be expanded. Any styles without a '#{' are still validated when they are set but any with a '#{' are not. Formats are not expanded usefully in many cases yet, that will be changed later. nicm 2020-05-16 15:01:30 +00:00
  • 0487029fc5 Call format_defaults_window for panes as well. nicm 2020-05-16 14:55:38 +00:00
  • 5bf96c2f2c Use a grid cell not a style for the pane style. nicm 2020-05-16 14:53:23 +00:00
  • 428137d876 Instead of forbidding invalid session names, sanitize them like window names. nicm 2020-05-16 14:49:50 +00:00
  • 7dbe623156 Instead of having a default set of terminals in terminal-overrides that get XT added and using that as a marker for xterm(1)-like, assume that if the terminfo(5) entry already has XT or the clear capability starts with CSI then the terminal is VT100-like and it should be safe to send DA requests. The DA responses trigger additional features being added. nicm 2020-05-16 14:46:14 +00:00
  • 21a39c997b Do not redraw or update mode if nothing has changed. nicm 2020-05-16 14:42:06 +00:00
  • aebeeec1e9 Add feature and capabilities for focus reporting. Also document AX and XT even though they aren't tmux's, and add some bits for rxvt. nicm 2020-05-16 14:39:40 +00:00
  • 26312a7774 Move terminal features into a single file. nicm 2020-05-16 14:30:17 +00:00
  • a29196ca6a Build list of paths and weed out duplicates before loading configs, and add TMUX_SOCK like TMUX_PATH for the socket directory. nicm 2020-05-16 14:26:33 +00:00
  • 4e0a718666 Add extension terminfo(5) capabilities for margins. nicm 2020-05-16 14:22:51 +00:00
  • 41dec585df Response is iTerm2 not not ITerm2. nicm 2020-05-16 14:18:39 +00:00
  • 9dd58470e4 Remove support for iTerm2's DSR 1337 extension and use the CSI > q extension now supported by a few different terminals. nicm 2020-05-16 14:16:25 +00:00
  • 471f697423 Add an attribute for ACS. nicm 2020-05-16 14:13:37 +00:00
  • 0dd1944206 Tweak the default choose modes formats: nicm 2020-05-16 14:10:29 +00:00
  • 57fe03dc5a Move lazy resize from the pane to the window, there is no point in resizing the window unless it is the current window, and if we do and don't resize the pane until later there are problems if the size changes from A to B then back to A. Nicholas Marriott 2020-05-16 14:57:36 +01:00
  • 53c84fd4aa If the application has not requested extended keys, then C-1 sends 1 not nothing. Nicholas Marriott 2020-05-16 07:39:22 +01:00
  • 740f047a85 Need to update features after all the sequences come in. Nicholas Marriott 2020-05-16 07:32:46 +01:00
  • c2167c5ee8 On select-window, make this client the latest client for the window. Nicholas Marriott 2020-05-15 22:52:55 +01:00
  • e8ca5a4c7d List needs to be sorted. Nicholas Marriott 2020-05-15 19:17:56 +01:00
  • 67090dd91d XTerm not xterm. Nicholas Marriott 2020-05-15 19:10:06 +01:00
  • 401f197750 Er, misread this and it is not needed. Nicholas Marriott 2020-05-15 18:58:13 +01:00
  • ca60aabab5 Translate special CSI u keys on input. Nicholas Marriott 2020-05-15 18:25:44 +01:00
  • 7317a0865c Get == and != the right way round. Nicholas Marriott 2020-05-15 17:49:58 +01:00
  • 0b828b91a5 Only send XDA on 0. Nicholas Marriott 2020-05-15 17:49:07 +01:00
  • dcf537519f Fix default values for new escape sequences. Nicholas Marriott 2020-05-15 17:48:21 +01:00
  • c364a7142c Only forward extended keys if the application has requested them, even though we use the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as well. Nicholas Marriott 2020-05-15 17:40:24 +01:00
  • 3a4f3ee087 Mask off flags bits in menu keys. Nicholas Marriott 2020-05-15 16:17:20 +01:00
  • 6d92b99dbc Add a terminal feature for enable/disable extended keys (supported by xterm and mintty) and add an option to make tmux send it. Nicholas Marriott 2020-05-15 16:15:24 +01:00
  • e6b17e77db C-M-S keys need the implied flag also. Nicholas Marriott 2020-05-15 15:11:08 +01:00
  • e23c73457a Stop at end of buffer. Nicholas Marriott 2020-05-15 15:05:49 +01:00
  • 3e60ab1caf Send conventional \033 sequences for keys with just Meta even if they came in as an extended CSI u key sequence. It is much more useful for applications that don't understand CSI u to receive \033> for M-S-. rather than \033[62;3u. Nicholas Marriott 2020-05-15 13:15:12 +01:00
  • 7501e297dd Send CSI u sequences for any keys that do not have a defined sequence already - this should only be similar sequences sent by the terminal outside tmux if enabled. Nicholas Marriott 2020-05-15 12:39:37 +01:00
  • 340fd691cb Separate key flags and modifiers, log key flags, make the "xterm" flag more explicit and fix M- keys with a leading escape. Nicholas Marriott 2020-05-15 12:16:41 +01:00
  • 031d4864a9 Rename KEYC_ESCAPE to KEYC_META. Nicholas Marriott 2020-05-15 11:24:30 +01:00
  • 2cf967ee67 Always set xterm flag. Nicholas Marriott 2020-05-15 11:20:12 +01:00
  • e95b644139 Recognise extended key sequences on input (both the forms xterm offers). Nicholas Marriott 2020-05-15 11:09:32 +01:00
  • 5ee4d991b6 xterm-keys has been on by default for 5 years and all other modern terminals use these key sequences by default. Merge the code into the main tty and input tree processing (convering the latter to use a tree rather than a table at the same time) and make the option a no-op. Nicholas Marriott 2020-05-15 10:31:54 +01:00
  • c4d8100b2f Draw outside correctly with pane numbers. Nicholas Marriott 2020-05-14 16:58:14 +01:00
  • bef70132ac Check if outside the window before checking if on the border so that cells that are outside in one direction but not the other are not given the wrong type. Nicholas Marriott 2020-05-14 16:53:04 +01:00
  • 31621036ad Add an option to set the pane border lines style from a choice of single lines (ACS or UTF-8), double or heavy (UTF-8), simple (plain ASCII) or number (the pane numbers). Lines that won't work on a non-UTF-8 terminal are translated back into ACS when they are output. Nicholas Marriott 2020-05-14 16:49:08 +01:00
  • 97c8374855 Tweak CHANGES. Nicholas Marriott 2020-05-14 14:07:26 +01:00
  • 4dc0f3ee6b Update CHANGES. Nicholas Marriott 2020-05-14 14:01:32 +01:00
  • 09a66451ce Add screen write flags instead of individual bits and fix line length calculation with padding. Nicholas Marriott 2020-05-14 13:18:05 +01:00
  • 0bdbf47ef9 Add a client flag 'active-pane' which stores the active pane in the client and allows it to be changed independently from the real active pane stored in the window. This is can be used with session groups which allow an independent current window (although it would be nice to have a flag for this too and remove session groups). The client active pane is only really useful interactively, many things (hooks, window-style, zooming) still use the window active pane. Nicholas Marriott 2020-05-14 11:18:19 +01:00
  • 12eceaf2b3 Expand target from client and use it to expand the prompt. Nicholas Marriott 2020-05-14 10:35:26 +01:00
  • 09a2246b00 Use safe loop for freeing client files. Nicholas Marriott 2020-05-13 21:11:46 +01:00
  • e6d9f3f90c Add -Z to customize-mode binding. Nicholas Marriott 2020-05-13 20:58:42 +01:00
  • 3f55d05386 Tidy up border redrawing, fix some errors in how the window border connects with panes. Nicholas Marriott 2020-05-13 17:49:37 +01:00
  • 4cb1d3d7a9 Move editor stuff to common code in popup.c. Nicholas Marriott 2020-05-13 06:58:07 +01:00
  • 6214cd0726 Add a mark in copy mode. Set with set-mark command (bound to 'X') by default and the mark and cursor position are swapped with 'jump-to-mark' (bound to M-x). The line containing the mark is shown in copy-mode-mark-style with the horizontal position in reverse. Nicholas Marriott 2020-05-13 06:29:57 +01:00
  • 9d44df9da9 Merge branch 'master' of github.com:tmux/tmux Thomas Adam 2020-05-13 01:15:31 +01:00
  • 212cf53ea9 Merge branch 'obsd-master' Thomas Adam 2020-05-13 01:05:04 +01:00
  • ba20e46bdc Do not log NULL text. Nicholas Marriott 2020-05-12 10:36:31 +01:00
  • 8d238491d0 Show default key bindings in customize mode. Nicholas Marriott 2020-05-12 10:20:58 +01:00
  • 5a34f51d33 Include key bindings in customize mode. Nicholas Marriott 2020-05-12 08:57:55 +01:00
  • c489bf0a1e Support embedded styles in the display-message message, GitHub issue 2206. Nicholas Marriott 2020-05-11 09:18:00 +01:00
  • 8502517d30 Add to CHANGES. Nicholas Marriott 2020-05-10 17:06:31 +01:00
  • 0070313e28 Fix comparison of tty name. Nicholas Marriott 2020-05-10 16:57:33 +01:00
  • d01e7aac89 Add a -D flag to ask tmux not to daemonize, useful both for running a debugger (lldb does not have follow-fork-mode) and for running with a managed supervisor init system. GitHub issue 2190. Nicholas Marriott 2020-05-10 16:52:46 +01:00
  • 5fa377d927 Do not loop forever when search finds an empty match, GitHub issue 2203. Nicholas Marriott 2020-05-10 09:59:34 +01:00
  • 79a9a7b931 Fix next-matching-bracket logic, from Chris Barber. Nicholas Marriott 2020-05-09 16:14:45 +01:00
  • 532d06c399 Initialize return code in case something mysterious happens. Nicholas Marriott 2020-05-09 16:07:30 +01:00