Commit Graph

  • 31a51cae1d Merge branch 'obsd-master' Thomas Adam 2020-06-02 11:29:48 +01:00
  • f3931497f8 Use CLOCK_MONOTONIC for timer measurement and add a timestamp to control mode %output blocks. nicm 2020-06-02 08:17:27 +00:00
  • 563b7331da Remove blocks from queue when pane disappears. nicm 2020-06-01 21:08:05 +00:00
  • 8339702d47 Check the right thing for maximum client buffer size. nicm 2020-06-01 20:58:42 +00:00
  • 9819470058 Change format callback to return value rather than storing it in the entry. nicm 2020-06-01 19:39:25 +00:00
  • 191a836560 Merge branch 'obsd-master' Thomas Adam 2020-06-01 18:01:18 +01:00
  • 674ec410b7 Try without cursor/keypad flags if a key doesn't exist, and limit ctrl key translation to ASCII keys. Fixes send-keys, GitHub issue 2247. nicm 2020-06-01 16:09:35 +00:00
  • 91e40de2da Merge branch 'obsd-master' Thomas Adam 2020-06-01 12:01:20 +01:00
  • a54a88edd6 Instead of sending all data to control mode clients as fast as possible, add a limit of how much data will be sent to the client and try to use it for panes with some degree of fairness. GitHub issue 2217, with George Nachman. nicm 2020-06-01 09:43:00 +00:00
  • 5ef790a6c4 Merge branch 'obsd-master' Thomas Adam 2020-05-29 16:01:19 +01:00
  • 175e45005f Add -i to find-window to ignore case. nicm 2020-05-29 13:42:13 +00:00
  • ce6b3a539d utf8proc_unicode_version is too new. Nicholas Marriott 2020-05-28 08:41:56 +01:00
  • 86159fca82 Merge branch 'obsd-master' Thomas Adam 2020-05-27 16:01:18 +01:00
  • bda2a0282a Fix ASCII keys with send-keys -l. nicm 2020-05-27 14:45:35 +00:00
  • 38ce6adab6 Merge branch 'obsd-master' Thomas Adam 2020-05-27 08:01:19 +01:00
  • f336599a3a Make padding cell a valid character. nicm 2020-05-27 06:23:23 +00:00
  • fd8652ceda Merge branch 'obsd-master' Thomas Adam 2020-05-26 16:01:19 +01:00
  • 2ced370bee Tweak some out of date bits, reported by bcgraham. nicm 2020-05-26 13:19:21 +00:00
  • a4cb700269 Merge branch 'obsd-master' Thomas Adam 2020-05-26 14:02:15 +01:00
  • ff6f2ff6d9 Return new character properly when converting to data. nicm 2020-05-26 12:50:03 +00:00
  • 392b381d1c Apply -n when only one pane in the window. nicm 2020-05-26 09:01:03 +00:00
  • 370f0bb98d Remove leftover debug logging and fix comparison. nicm 2020-05-26 08:56:48 +00:00
  • ca0166f26f Do not try to use the last marked pane if it is invalid. nicm 2020-05-26 08:47:50 +00:00
  • ea610a3119 Pass the stdout file descriptor from the client as well as stdin and use them for control clients directly instead of passing everything via the client. nicm 2020-05-26 08:41:47 +00:00
  • bc2e0cf7ff Remove bad merge. Nicholas Marriott 2020-05-26 08:54:05 +01:00
  • d73fcfc176 Put the fix back for wcwidth() failing. Nicholas Marriott 2020-05-26 08:49:36 +01:00
  • 967e5f8be3 Merge branch 'obsd-master' Thomas Adam 2020-05-26 08:42:55 +01:00
  • fd4d3e8793 Set IUTF8 again when it exists. Nicholas Marriott 2020-05-26 06:15:13 +01:00
  • 6f03e49e68 Use the internal representation for UTF-8 keys instead of wchar_t and drop some code only needed for that. nicm 2020-05-25 18:57:24 +00:00
  • 35779d655d Fix definition of padding cells so they are not extended cells. nicm 2020-05-25 18:55:36 +00:00
  • 49ec074271 Tidy up new UTF-8 code and make it more generic. nicm 2020-05-25 18:19:29 +00:00
  • dc893405e1 Fix some error strings, from Kris Katterjohn. nicm 2020-05-25 18:17:14 +00:00
  • b34af611a5 Merge branch 'obsd-master' Thomas Adam 2020-05-25 18:01:20 +01:00
  • bbfb44e9b2 Make some data types consistent. nicm 2020-05-25 15:02:25 +00:00
  • 32ce468b22 Merge branch 'obsd-master' Thomas Adam 2020-05-25 14:01:19 +01:00
  • 4589297e43 Do not attempt to divide by zero when working out copy position. nicm 2020-05-25 12:12:58 +00:00
  • 26e8e467e8 Include title for the width of the menu. nicm 2020-05-25 11:59:50 +00:00
  • bb5a1925ab Merge branch 'obsd-master' Thomas Adam 2020-05-25 12:01:19 +01:00
  • 3a5219c6d0 Instead of storing all UTF-8 characters in the extended cell which means that 14 bytes are wasted for each character in the BMP, only store characters of three bytes or less in the cell itself and store others (outside the BMP or with combining characters) in a separate global tree. Can reduce grid memory use for heavy Unicode users by around 30%. nicm 2020-05-25 09:32:10 +00:00
  • e16191dbfc Merge branch 'obsd-master' Thomas Adam 2020-05-24 16:01:20 +01:00
  • 14a9fd58d5 Remove leftover call to control_free_offsets and do not use for non-control clients. nicm 2020-05-24 14:45:00 +00:00
  • aeefd585a0 Merge branch 'obsd-master' Thomas Adam 2020-05-24 12:01:21 +01:00
  • 18aab90959 Give control code its own state struct. nicm 2020-05-24 09:40:17 +00:00
  • 6c82982711 Now the tty has a pointer back to the client there is no point (and a bit confusing) in it keeping a copy of the fd as well. Remove it. nicm 2020-05-24 09:13:06 +00:00
  • e71c5efd58 Merge branch 'obsd-master' Thomas Adam 2020-05-22 18:01:20 +01:00
  • 2ac6cc2633 Put headers back how they were. Nicholas Marriott 2020-05-22 17:34:30 +01:00
  • a48cc458a6 Maybe this is better. Nicholas Marriott 2020-05-22 17:27:07 +01:00
  • 1fdacba111 Think Solaris needs term.h here. Nicholas Marriott 2020-05-22 17:24:42 +01:00
  • b3e5a99c8f And tweak again. Nicholas Marriott 2020-05-22 17:22:03 +01:00
  • 6ae26a6b54 Fix utf8proc version logging. Nicholas Marriott 2020-05-22 17:20:35 +01:00
  • 87a59efc94 Log ncurses and utf8proc versions. Nicholas Marriott 2020-05-22 17:14:35 +01:00
  • 033d6472cb FocusIn keys can also update the latest client, like normal keys. nicm 2020-05-22 15:43:38 +00:00
  • a06a0e1392 xterm* can have focus too. nicm 2020-05-22 15:08:38 +00:00
  • d48f0e114e Merge branch 'obsd-master' Thomas Adam 2020-05-22 13:40:33 +01:00
  • 9a0763c3a0 Move client offset stuff into control.c since only control clients will need it. nicm 2020-05-22 11:07:04 +00:00
  • 2420bd8584 spawn.c: fix up bad merge Thomas Adam 2020-05-21 09:02:04 +01:00
  • 40126ee96c Merge branch 'obsd-master' Thomas Adam 2020-05-21 08:55:31 +01:00
  • 31e3f2d530 Support code for control mode flow control: allow clients to have separate offsets (used and acknowleged) into the pane buffers; turn off reading from panes when no clients can accept the data; and add a -A flag to refresh-client to let clients turn receiving a pane on and off. nicm 2020-05-21 07:24:13 +00:00
  • 98a18d064a Fix a regression test, size is not updated until end of event loop. Nicholas Marriott 2020-05-21 08:19:55 +01:00
  • 5ac5cd995e Merge branch 'obsd-master' Thomas Adam 2020-05-20 10:01:19 +01:00
  • 6bde1c1837 Fix a couple more places where the key flags need to be masked off. nicm 2020-05-20 07:11:45 +00:00
  • fa835339fd Merge branch 'obsd-master' Thomas Adam 2020-05-20 08:01:18 +01:00
  • b53e60f4c6 Remove a redundant if statement. nicm 2020-05-20 06:18:22 +00:00
  • 2a9e2b556a Key strings need to include the cursor and keypad flags now since the output key lookup expects them already set. nicm 2020-05-20 06:13:09 +00:00
  • fb9e53ba19 Merge branch 'obsd-master' Thomas Adam 2020-05-19 14:01:17 +01:00
  • e10f5a72ce Add FreeBSD CI, from Jan Beich. Nicholas Marriott 2020-05-19 12:34:34 +01:00
  • 8425084b8a Some other ctrl keys need to be translated with extended keys on. nicm 2020-05-19 10:59:09 +00:00
  • 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