Commit Graph

  • deffef6f13 Reset background colour on scrolled line. nicm 2020-04-18 15:22:05 +00:00
  • ea5fdd5331 There is no point in keeping a bunch of different text buffers for each line when writing, we only need one as big as the line width - there can't be any more text than that since newer will overwrite older. nicm 2020-04-18 15:12:28 +00:00
  • 2ccf15e5d8 Merge branch 'obsd-master' Thomas Adam 2020-04-18 16:01:34 +01:00
  • 4a93294152 Use size_t not u_int for the bytes counters and fix a const missing. nicm 2020-04-18 14:21:39 +00:00
  • d55510ebc8 Merge branch 'obsd-master' Thomas Adam 2020-04-18 12:01:31 +01:00
  • 94c90385d2 Apple appear to have fixed kqueue in some OS X version (will wonder never cease!) so use it since it appears to be faster. Nicholas Marriott 2020-04-18 11:45:49 +01:00
  • e1799ed7c8 Merge branch 'obsd-master' Thomas Adam 2020-04-18 10:01:31 +01:00
  • c87595326c Use peek line function instead of hoking in the array directly. nicm 2020-04-18 09:00:31 +00:00
  • b0a37e7514 Bring back previons fix to only redraw panes that need it after a redraw is deferred, but clear the pane flags when they are actually redrawn rather than every time. nicm 2020-04-18 07:32:53 +00:00
  • e153b928ff Add formats for pane written/skipped bytes for debugging. nicm 2020-04-18 07:19:28 +00:00
  • 349617a818 Merge branch 'obsd-master' Thomas Adam 2020-04-18 08:01:37 +01:00
  • baf1fca273 Only update mode when actually going to redraw something. nicm 2020-04-18 06:52:36 +00:00
  • 1d2bd864f2 Add a flag to protect against nested syncs and add some extra logging to redrawing. nicm 2020-04-18 06:20:50 +00:00
  • d94bdf7420 Revert previous, there is still a problem. nicm 2020-04-18 06:15:07 +00:00
  • 5289d4ed13 When a redraw is deferred because the terminal hasn't finished reading the data from the last one, other panes could update while waiting, so we set the flag to redraw them all when the new redraw actually happened. But this means a lot of redrawing panes unnecessarily if they haven't changed - so instead set a flag to say "at least one pane needs to be redrawed" then look at the invidual pane flags to see which ones need it. nicm 2020-04-18 06:10:15 +00:00
  • 87d79e6d36 Merge branch 'obsd-master' Thomas Adam 2020-04-18 00:01:30 +01:00
  • a7a9460d27 Set mode properly before and after redrawing, and don't bother calculating cursor position if it won't be used. nicm 2020-04-17 22:16:28 +00:00
  • a877a5d8c9 Do not move the cursor to the existing y position if it is invalid, go home instead. nicm 2020-04-17 21:33:18 +00:00
  • 857fca1095 Merge branch 'obsd-master' Thomas Adam 2020-04-17 18:01:30 +01:00
  • bbd6e899a8 There is no point allocating a new item and putting it on the list when the whole line is cleared line, there is never any point in doing it more than once. Instead store the background colour alone. nicm 2020-04-17 15:44:58 +00:00
  • 7a21e911e1 Merge branch 'obsd-master' Thomas Adam 2020-04-17 16:01:33 +01:00
  • 282a7a8d96 Make sure the cursor position is still on screen after we have trimmed empty lines. Also improve some log messages. nicm 2020-04-17 14:06:42 +00:00
  • abeb31dd3d Merge branch 'obsd-master' Thomas Adam 2020-04-17 12:01:30 +01:00
  • 7f2925a01d Support the application escape sequence mintty (means tmux doesn't have to delay to wait for Escape). nicm 2020-04-17 09:06:10 +00:00
  • 413c4cfd1b Merge branch 'obsd-master' Thomas Adam 2020-04-17 10:01:38 +01:00
  • 5aba26f2cb Add a copy-command option and change copy-pipe and friends to pipe to it if used without arguments, allows all copy key bindings to be changed to pipe with one option. nicm 2020-04-17 08:03:22 +00:00
  • 2846be326a Merge branch 'obsd-master' Thomas Adam 2020-04-17 00:01:35 +01:00
  • 5f18844b32 Return to sending sync around clears. nicm 2020-04-16 21:46:43 +00:00
  • d8433add47 Do not need to set up a tty context for clearing lines now. nicm 2020-04-16 21:16:24 +00:00
  • d90ca7ecd6 Collect up line clears like text within the available data so we don't need to flush everything. nicm 2020-04-16 20:32:51 +00:00
  • 9edef17698 Merge branch 'obsd-master' Thomas Adam 2020-04-16 20:01:31 +01:00
  • c1b015f24e Log what caused a flush for better visibility on what could be improved. nicm 2020-04-16 17:24:28 +00:00
  • 9311ed049b Start menu with top item selected if no mouse, GitHub issue 2169. nicm 2020-04-16 17:20:23 +00:00
  • 21eb2ba419 Merge branch 'obsd-master' Thomas Adam 2020-04-16 18:01:32 +01:00
  • 2e347d6a38 Only start and stop sync for operations like clear and scroll where there is a better chance more data will be on the way. nicm 2020-04-16 16:13:56 +00:00
  • 363d950ac0 Send secondary device attributes instead of primary which gives us a bit more useful information on some terminals. nicm 2020-04-16 15:14:25 +00:00
  • 5e38d26257 Merge branch 'obsd-master' Thomas Adam 2020-04-16 16:01:35 +01:00
  • 5ec80bd249 Move the UTF-8 flag to terminal flags. nicm 2020-04-16 14:25:35 +00:00
  • 4744aa43af Add a helper function to get the terminal flags. nicm 2020-04-16 14:03:51 +00:00
  • b2443aa2f9 Add support for the iTerm2 sychronized updates escape sequence which drastically reduces flickering. nicm 2020-04-16 13:35:24 +00:00
  • b3cadf8260 Fix sys_signame check. Nicholas Marriott 2020-04-16 10:15:33 +01:00
  • 1aa2845026 Check for sys_signame. Nicholas Marriott 2020-04-16 10:08:16 +01:00
  • dd66ede38b Merge branch 'obsd-master' Thomas Adam 2020-04-16 10:01:33 +01:00
  • a2e47b5279 Show signal name when process exits rather than number. nicm 2020-04-16 07:28:36 +00:00
  • 3aa1e5810c Merge branch 'obsd-master' Thomas Adam 2020-04-16 08:01:26 +01:00
  • b6dfca9b4d Don't miss the last line off the screen when writing after resize, from Anindya Mukherjee. nicm 2020-04-16 05:22:08 +00:00
  • 8dc06446ec Merge branch 'obsd-master' Thomas Adam 2020-04-15 22:01:31 +01:00
  • fc1855f514 Clear the selection and repeat the search on refresh same as resize. nicm 2020-04-15 19:06:49 +00:00
  • 6d6309014e Merge branch 'obsd-master' Thomas Adam 2020-04-15 20:01:27 +01:00
  • 53a29a2ffa Instead of fixing with the cursor position when the copied screen is created, resize it and let the resize/reflow code fix it up and return it. Solves various problems with cursor position and resizing when in copy mode. With Anindya Mukherjee. nicm 2020-04-15 17:50:02 +00:00
  • ebeb457385 Merge branch 'obsd-master' Thomas Adam 2020-04-15 18:01:27 +01:00
  • 1e72f5ea43 Use mode-style for selected items, like choose modes. GitHub issue 2166. nicm 2020-04-15 16:11:23 +00:00
  • fe1778e377 Merge branch 'obsd-master' Thomas Adam 2020-04-15 16:01:27 +01:00
  • c7883d5c87 Use grid_empty_line rather than memset when adding new lines on resize. Also remove some old test code. nicm 2020-04-15 12:59:20 +00:00
  • c2c9b77f14 Do not use the command if the kernel didn't return the full size. Nicholas Marriott 2020-04-15 13:04:20 +01:00
  • 533c5ee7ad Merge branch 'obsd-master' Thomas Adam 2020-04-14 22:01:27 +01:00
  • b9a00cbe8a Leave the cursor above empty lines. nicm 2020-04-14 19:07:10 +00:00
  • e11295f42d Adjust cursor and scroll positions when entering copy mode so that the cursor line is still visible even if the source and target panes are different heights. nicm 2020-04-14 18:33:01 +00:00
  • c68291f627 Merge branch 'obsd-master' Thomas Adam 2020-04-14 16:01:27 +01:00
  • 1ef9a69f4f Send keys when they are complete not before (!= vs ==). nicm 2020-04-14 13:22:05 +00:00
  • 6d9b3704f5 Merge branch 'obsd-master' Thomas Adam 2020-04-14 08:01:33 +01:00
  • 63ec791854 Provide an accessor for the running queue item and use it to not let hooks recurse. nicm 2020-04-14 06:00:52 +00:00
  • 653a159225 Merge branch 'obsd-master' Thomas Adam 2020-04-14 00:01:41 +01:00
  • 2159ff3256 Merge branch 'obsd-master' Thomas Adam 2020-04-13 22:01:30 +01:00
  • fc83517913 Missed a few warnings in previous. nicm 2020-04-13 20:54:15 +00:00
  • 3f7f9a0e20 Make client -c and -t handling common in cmd-queue.c and try to be clearer about whether the client is the target client (must have a session) or not. nicm 2020-04-13 20:51:57 +00:00
  • 187277eaad Add helpers for the simple case of parse string and add to command queue. nicm 2020-04-13 18:59:41 +00:00
  • acc00cd13a Merge branch 'obsd-master' Thomas Adam 2020-04-13 18:01:43 +01:00
  • 34804f2709 When parsing strings, put all commands in one group even if there are newlines. This means that for example bind q { a \n b } and bind q "a ; b" are the same. Also log commands in different groups separated by ;; rather than ; (a command list like this should never be user visible). nicm 2020-04-13 16:19:37 +00:00
  • 3f86d6d460 When adding a list of commands to the queue, instead of automatically creating a new state for each group of commands, require the caller to create one and use it for all the commands in the list. This means the current target works even with list with multiple groups (which can happen if they are defined with newlines). nicm 2020-04-13 15:55:51 +00:00
  • 0a11f1607b Merge branch 'obsd-master' Thomas Adam 2020-04-13 16:01:46 +01:00
  • adb76fd1ce Move cmdq_state into cmd-queue.c. nicm 2020-04-13 14:46:04 +00:00
  • 9a65102bfc Rename cmdq_shared to cmdq_state which will better reflect what it is (going to be) used for. nicm 2020-04-13 14:04:25 +00:00
  • 77d5b0cc53 Store a key event not a mouse event in the shared data. nicm 2020-04-13 13:42:35 +00:00
  • 53d6b94e8a Move the NOHOOKS flag into the shared flags. nicm 2020-04-13 13:32:09 +00:00
  • 8f2b5d714a Merge branch 'obsd-master' Thomas Adam 2020-04-13 14:01:45 +01:00
  • 04cdd03525 Also move cmdq_item and cmdq_list into cmd-queue.c (this is to make its use more clearly defined and preparation for some future work). nicm 2020-04-13 10:59:58 +00:00
  • b117c3b812 Merge branch 'obsd-master' Thomas Adam 2020-04-13 10:30:00 +01:00
  • c20eb0c0ae Make struct cmd local to cmd.c and move it out of tmux.h. nicm 2020-04-13 08:26:27 +00:00
  • 9cbe9675ea Change so that the appropriate hooks for windows and panes belong to pane/window options rather than all being session options. This is useful for example to create a pane that is automatically closed on some condition. From Anindya Mukherjee. nicm 2020-04-13 07:25:33 +00:00
  • ad38ef6ff4 Print empty arguments properly. nicm 2020-04-12 20:54:28 +00:00
  • de6b30a51c Mention RGB, pointed out by Jody Frankowski. nicm 2020-04-12 20:16:36 +00:00
  • da4034944d Add a -f filter argument to the list commands like choose-tree. nicm 2020-04-12 08:36:18 +00:00
  • 756591b4ca Add a -f filter argument to the list commands like choose-tree. nicm 2020-04-12 08:36:18 +00:00
  • 70534cfde6 Clarify a couple of style options. nicm 2020-04-12 08:13:41 +00:00
  • 1c433f1354 Remove unused define, also a man fix from jmc. nicm 2020-04-10 20:53:54 +00:00
  • c0602f357d Now that copy mode copies the pane content rather than keeping a reference to it, it isn't necessary that the pane in copy mode is the same as the one copying from. Add a -s flag to copy-mode to specify a different pane for the source content. This means it is possible to view two places in a pane's history at the same time in different panes, or copy from a pane's history into an editor or shell in the same pane. nicm 2020-04-10 07:44:26 +00:00
  • a1fc8f8b23 More style nits. nicm 2020-04-09 15:35:27 +00:00
  • 52e3d960e7 Merge branch 'obsd-master' Thomas Adam 2020-04-09 16:01:45 +01:00
  • 26f5dfbe46 Fix history-bottom to use the right line when working out the length. nicm 2020-04-09 14:30:28 +00:00
  • e9e5facb0e Some minor style nits. nicm 2020-04-09 14:23:34 +00:00
  • b0b07fb585 Tweak how the default size is worked out so it is more obvious. nicm 2020-04-09 13:57:18 +00:00
  • 886fdb1f7e A couple of other redundant checks/assignments. nicm 2020-04-09 13:56:46 +00:00
  • 5288801d3e Do not try to use the client if the item containing it is NULL. nicm 2020-04-09 13:54:38 +00:00
  • 315961faec Some more, and use of wp->window before wp NULL check in format.c. nicm 2020-04-09 13:53:50 +00:00
  • b96ac80901 Some unnecessary assignments and unused variables. nicm 2020-04-09 13:52:31 +00:00
  • c4d0089edb Pass correct flags to fnmatch. nicm 2020-04-09 13:49:21 +00:00
  • 916c3787d7 Merge branch 'obsd-master' Thomas Adam 2020-04-09 14:01:32 +01:00
  • 9e0e860031 Merge branch 'obsd-master' Thomas Adam 2020-04-09 13:41:59 +01:00
  • 0e8710f507 Wait until the initial command sequence is done before sending a device attributes request and other bits that prompt a reply from the terminal. This means that stray relies are not left on the terminal if the command has attached and then immediately detached and tmux will not be around to receive them. Prompted by a problem report from espie@. nicm 2020-04-09 12:16:16 +00:00