summaryrefslogtreecommitdiffstats
path: root/tty.c
AgeCommit message (Collapse)Author
2023-09-17Merge branch 'obsd-master'Thomas Adam
2023-09-15Change UTF-8 combining to inspect the previous character at the cursornicm
position rather than keeping the last character from the input stream, this is how most terminals work and fixes problems with displaying these characters in vim. GitHub issue 3600.
2023-09-02Merge branch 'obsd-master'Thomas Adam
2023-09-02Request terminal colours again on SIGWINCH but at most once every 30nicm
seconds, GitHub issue 3582.
2023-09-02Merge branch 'obsd-master'Thomas Adam
2023-09-02Setulc only does RGB colour so add Setulc1 to do non-RGB colours, GitHubnicm
issue 3627.
2023-08-22Merge SIXEL branch.Nicholas Marriott
Squashed commit of the following: commit 6ebc3feb4671d9b25b3db99d3c16b2323b8e3d02 Author: topcat001 <anindya49@hotmail.com> Date: Sun Aug 20 16:09:51 2023 -0700 Remove redundant {}. commit 6f013fce39602c259a5be2d690d548c73e51cccc Author: topcat001 <anindya49@hotmail.com> Date: Sun Aug 20 16:02:15 2023 -0700 Revert "Do not defer redraw if it is just the status line (will need to do more here I" This reverts commit 0a15bbf3f1972dc84c5c84d5128024c1bc4c0074. commit e6322b4196d73c975ba2e73633e6de9c46779059 Author: topcat001 <anindya49@hotmail.com> Date: Sun Aug 20 15:46:59 2023 -0700 Fix placeholder label and clean up. commit 5896ac52a1f72056a75480b3e1ada328f239df9b Merge: ad982330 e3a8b843 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Fri Aug 18 17:00:03 2023 +0100 Merge branch 'master' into sixel commit ad98233066b72547aee7fa0c87838847ee7f1ece Author: topcat001 <anindya49@hotmail.com> Date: Tue Aug 15 13:57:08 2023 -0700 Better text placeholder. commit 312d83252c27fc4d09d09d121bf7573336e3cdca Merge: 14b8b524 3d93b0c5 Author: topcat001 <anindya49@hotmail.com> Date: Tue Aug 15 13:39:22 2023 -0700 Merge remote-tracking branch 'origin/master' into sixel commit 14b8b524523a7d5a4e42f7dfa346905c604c91e2 Merge: 4baf7642 fda39377 Author: topcat001 <anindya49@hotmail.com> Date: Sat Jul 22 17:29:10 2023 -0700 Merge branch 'master' into sixel commit 4baf76422fadb216bf27b47645b52da3379e7dea Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Wed Jun 21 07:43:53 2023 +0100 Both files can go on one line. commit 4c92acf6ff24dde37ad41cd168ea2d3bcefb8567 Author: topcat001 <anindya49@hotmail.com> Date: Sat Jun 17 17:53:01 2023 -0700 Merge topcat001/tmux/sixel. commit 6794facc82e98f8448c192913cf62fe6e10fde63 Merge: 7b85f5ad f41c536f Author: topcat001 <anindya49@hotmail.com> Date: Sat Jun 17 17:21:02 2023 -0700 Merge remote-tracking branch 'origin/master' into sixel commit 7b85f5adf9a5094db580ca98e4d2231d8d5b5a4f Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Jun 8 12:55:03 2023 +0100 Do not require passthrough for SIXEL. commit a6ee55e0925cac35d011c188db2da0421fc09be1 Merge: 6da391f4 fe385b18 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Jun 8 12:19:55 2023 +0100 Merge branch 'master' into sixel commit 6da391f460414ed3dde23e5ab6ca3fe8e988ce51 Merge: 0d71e585 0eb5d254 Author: topcat001 <anindya49@hotmail.com> Date: Sat May 20 17:05:55 2023 -0700 Merge branch 'master' into sixel commit 0d71e5853ffe797f90b815ac3af25ac0ad92ab07 Merge: 64368a1a fbe6fe7f Author: topcat001 <anindya49@hotmail.com> Date: Sat Apr 29 17:32:07 2023 -0700 Merge branch 'master' into sixel commit 64368a1a63f04fb877b57e4286c9a2e1efe966c9 Merge: c630a56a 22eb0334 Author: topcat001 <anindya49@hotmail.com> Date: Thu Mar 30 14:21:09 2023 -0700 Merge branch 'master' into sixel commit c630a56a621b9761eed558cbd566a36cb09adf8f Merge: 34c96c4c aaa043a2 Author: topcat001 <anindya49@hotmail.com> Date: Thu Nov 10 18:53:01 2022 -0800 Merge branch 'master' into sixel commit 34c96c4c4a33f86b49c8a53dc48b2b817db24e95 Merge: 2a1e16a2 50f4e0fa Author: topcat001 <anindya49@hotmail.com> Date: Sat Nov 5 18:05:36 2022 -0700 Merge branch 'master' into sixel commit 2a1e16a24dc75741c66f5d72fa5bf26b73507993 Merge: a82f14c7 d001a94d Author: topcat001 <anindya49@hotmail.com> Date: Thu Oct 27 16:01:35 2022 -0700 Merge branch 'master' into sixel commit a82f14c7b23a239a2114c756ef73bba8609ebe33 Merge: 742c0634 f7b30ed3 Author: topcat001 <anindya49@hotmail.com> Date: Sun Aug 28 13:43:07 2022 -0700 Merge branch 'master' into sixel commit 742c0634734e6b2840762e58b0bf27626b5ac24b Merge: 906c92a5 87b248f3 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Fri Apr 1 10:14:15 2022 +0100 Merge branch 'master' into sixel commit 906c92a5f458b8843e7abd1d6f419dc091f8063c Merge: 6680a024 138ffc7c Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Wed Dec 8 10:37:33 2021 +0000 Merge branch 'master' into sixel commit 6680a024be5e173a27c10e9a0be6c9072576086d Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Oct 7 13:59:08 2021 +0100 Fix build. commit ebd2c585937f18045d334226d4a0cc788fe14353 Merge: 90dc0519 fed7b29c Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Oct 7 13:19:48 2021 +0100 Merge branch 'master' into sixel commit 90dc05191cbba8de6d9d77ee7f9726325abe844e Merge: a282439f 4694afbe Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Feb 20 20:37:32 2020 +0000 Merge branch 'master' into sixel commit a282439fcb2f597927a5ba33d2c378c90eec8b42 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Jan 30 09:12:53 2020 +0000 Add missing declarations. commit 3a741aacd108538f99239c68bfa2cd416bf0eb46 Merge: 40ad0107 339832b9 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Jan 30 09:11:01 2020 +0000 Merge branch 'sixel-passthrough' into sixel commit 339832b92c298538f398754f6d3fc21d15d13326 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Jan 30 09:04:51 2020 +0000 Bad merge. commit 92ed9fc0b20440f2bc553757e6bfe3126fe84be4 Merge: 5bb07548 32be954b Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Jan 30 09:03:38 2020 +0000 Merge branch 'master' into sixel-passthrough commit 40ad01073d73a531b4e85b0138f78bf0b472b354 Merge: dd3c72f1 61b075a2 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Sun Jan 12 20:03:41 2020 +0000 Merge branch 'master' into sixel commit 5bb075487f5897d7402adb880e678043c0f7f3e0 Merge: 7c033a74 54efe337 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Wed Dec 18 20:24:42 2019 +0000 Merge branch 'master' into sixel-passthrough commit dd3c72f132c911b0ba61b56a56f46510704d3392 Merge: 1a0e5fe9 54efe337 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Wed Dec 18 20:24:26 2019 +0000 Merge branch 'master' into sixel commit 1a0e5fe933e89932f2f658936c52eb50644fbef4 Merge: cf071ffe 15d7e564 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Tue Dec 10 16:34:11 2019 +0000 Merge branch 'master' into sixel commit cf071ffecd5a0d33008fd0a8b66a22f6855c7a8d Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Mon Dec 9 15:41:56 2019 +0000 Remove images when reflow happens. commit 2006b7a5631787a7086c6bae364e62d0a0b5948a Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Dec 5 09:27:15 2019 +0000 More invalidation of images. commit b642eac4503cc89cde01103f7bacca57cc9c1a2b Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Dec 5 09:11:24 2019 +0000 Redraw and scroll images and part of invalidating them. commit 7566e37a461bf245bd2e54e1d522e919071e9c44 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Dec 5 08:51:24 2019 +0000 Call sixel_scale with the right number of arguments. commit 62c0280b23cf67fc43f691392a8eca5cd7ff0727 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Dec 5 08:48:58 2019 +0000 Correctly remove when not visible. commit 86c5098a887f2cd09b828e051ccf0fab21bf4f6a Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Dec 5 08:32:25 2019 +0000 Add helpers to scroll image up and a flag to copy the colours. commit 49f2f0a8f1e72389f4128aa38119ed124cdc31c5 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Dec 5 00:02:55 2019 +0000 Store images, currently at most 10. commit 3aebcc67099ccbc5964c744fc1435931c1a78583 Merge: 146ee3f6 92ecd611 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Wed Dec 4 19:27:16 2019 +0000 Merge branch 'master' into sixel commit 7c033a74e25957d333217cb71a7658b860583501 Merge: 0a15bbf3 92ecd611 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Wed Dec 4 12:41:09 2019 +0000 Merge branch 'master' into sixel-passthrough commit 146ee3f6f8ee2629c6a88b6900a71f3e6fd14e4d Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Sat Nov 30 09:47:53 2019 +0000 Don't write image as text yet. commit 0a15bbf3f1972dc84c5c84d5128024c1bc4c0074 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Sat Nov 30 09:15:35 2019 +0000 Do not defer redraw if it is just the status line (will need to do more here I think). commit a5b1e209417b7d3f5b0099642dd317c312f79377 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 14:20:22 2019 +0000 Add a flag to disable blocking while sending a SIXEL image (turned off when the buffer hits 0 size). commit 968382aa6a4b9c71fbc221aa4f0e899f6a83a260 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 12:35:18 2019 +0000 Pass through SIXEL DCS sequences (treat similarly to the passthrough escape sequence) if it appears the terminal outside supports them. commit b1904c9b8db514133d3372aac13b2ff0b2093cc3 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Sat Nov 30 09:17:18 2019 +0000 Store SIXELs as a box for the moment. commit 5d8dbcdf3d76d0e69b8f2d21eff48f819dcec199 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Sat Nov 30 09:15:35 2019 +0000 Do not defer redraw if it is just the status line (will need to do more here I think). commit 0c999a402ece7b40e6ae84547893421b52d508ff Merge: 28961dd5 866b053f Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Fri Nov 29 18:54:09 2019 +0000 Merge branch 'master' into sixel commit 28961dd5a38dd5a7b703ed0e6625fa9a65556d35 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 14:24:57 2019 +0000 Add an image. commit d2e3f3c1cca5410570c5392340d14e96ae7a354c Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 14:20:22 2019 +0000 Add a flag to disable blocking while sending a SIXEL image (turned off when the buffer hits 0 size). commit e01df67ca106e57f5c689e75f313f8cda6f8b805 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 13:21:40 2019 +0000 Crop and scale images as needed when drawing them. commit e24acc0b5c3ac19dcacebdea243dcc7784215ffa Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 12:38:02 2019 +0000 Simple SIXEL parse and modify API. commit b34111b3da1e4b1769a976cd40486144f7b4f5a2 Author: Nicholas Marriott <nicholas.marriott@gmail.com> Date: Thu Nov 28 12:35:18 2019 +0000 Pass through SIXEL DCS sequences (treat similarly to the passthrough escape sequence) if it appears the terminal outside supports them.
2023-07-13Use 8 for underscore colour defaults instead of 0 which is lessnicm
confusing, and fix writing tge default colour. GitHub issue 3627.
2023-06-26Add "us" to styles for underscore colour, GitHub issue 3589.nicm
2023-04-25Tidy tparm wrapper functions to have more obvious names and check tparmnicm
return value.
2023-04-25Invalidate cached tty state after changing features since they maynicm
change what the terminal can do and need mouse sequences or similar to be sent again, GitHub issue 3513.
2023-03-27For passthrough, don't write to clients attached to different sessions,nicm
based on a fix from Sergei Grechanik.
2023-01-12Have tmux recognise pasted texts wrapped in bracket paste sequences,nicm
rather than only forwarding them to the program inside. From Andrew Onyshchuk in GitHub issue 3431.
2023-01-03Query the client terminal for foreground and background colours and ifnicm
OSC 10 or 11 is received but no colour has been set inside tmux, return the colour from the first attached client (probably most people will have all light or or all dark terminals).
2022-11-11Parse primary device attributes as well as secondary and add a SIXELnicm
flag (not used yet), from Anindya Mukherjee.
2022-08-15Add a Nobr terminfo capability to tell tmux the terminal does not usenicm
bright colours for bold (makes a difference to how tmux applies palette differences). From Damien Tardy-Panis in GitHub issue 3301.
2022-08-02Add a third state "all" to allow-passthrough to work even in invisiblenicm
panes, from Sergei Grechanik in GitHub issue 3274.
2022-07-06Support hyperlinks with capture-pane -e and add a mouse_hyperlinknicm
format, GitHub issue 3247 from Jeff Chiang.
2022-06-30Add support for OSC 8 hyperlinks (a VTE extension now supported by othernicm
terminals such as iTerm2). Originally written by me then extended and completed by first Will Noble and later Jeff Chiang. GitHub issues 911, 2621, 2890, 3240.
2022-06-09If an application gives the first parameter to OSC 52, validate and passnicm
on to outside terminal. GitHub issue 3192.
2022-06-03Do not unintentionally turn off all mouse mode when button is also present.nicm
2022-03-24Add a capability for OSC 7 and use it similarly to how the title is setnicm
(and controlled by the same set-titles option). GitHub issue 3127.
2022-03-08Add argument to refresh-client -l to forward clipboard to a pane. GitHubnicm
issue 3068.
2022-02-15Do not create a buffer from an OSC 52 response if we have not sent anicm
query.
2021-12-31Try to turn on less-capable mouse modes when turning on more-capable, tonicm
increase the chances we get something even if the terminal doesn't support the one we really want. GitHub issue 3020.
2021-12-10Add a NOBLOCK flag rather than adding amount to wait for whennicm
dealing with potentially-long sequences. GitHub issue 3001.
2021-12-06Do not dereference NULL window when resizing client, GitHub issue 2982.nicm
2021-11-29Bump response timer to three seconds, GitHub issue 2984.nicm
2021-11-03Add a cursor-style option, from Alexis Hildebrandt in GitHub issue 2960.nicm
2021-11-01Add a cursor-colour option, from Alexis Hildebrandt in GitHub issuenicm
2959.
2021-10-28Do not force the cursor to move if it is in the automargin space at EOLnicm
and that is where we want it to be, GitHub issue 2956.
2021-10-25Instead of setting the popup default colours in the draw callback, setnicm
it up in popup_display and follow the same routine as panes in the draw and init_ctx callbacks - use the palette if the option value is default. Allows application-set fg and bg to work in panes again.
2021-10-14When checking ranges in tty_cmd_cells, cannot use the tty cursornicm
position and tty_cursor because it may be at the final invisible cursor position on automargin terminals. The text to be drawn is confined to the pane, so use the pane cursor position for the checks instead. Fix from Anindya Mukherjee, redraw problem reported by naddy@.
2021-10-11Make positions hidden by overlays range-based rather than character-based,nicm
from Anindya Mukherjee.
2021-10-06Do not reset cursor to default if it has never been changed, fixesnicm
problem reported by naddy.
2021-10-05Separate "very visible" flag from blinking flag, it should not affectnicm
DECSCUSR. GitHub issue 2891.
2021-08-17calloc for confirm-before data since the item needs to start NULL.nicm
2021-08-17Be more sophisticated about enabling synchronized updates when there isnicm
an overlay and treat it like the active pane (use for commands which move the cursor only). When there is an overlay also use it for all panes and not just the active pane. GitHub issue 2826.
2021-08-13Add a menu when a popup is present (mouse only for now).nicm
2021-08-12Evaluate styles with the pane variables.nicm
2021-08-11Break the colour palette into a struct rather than just a single arraynicm
and use that to support the OSC palette-setting sequences in popups. Also add a pane-colours array option to specify the defaults. GitHub issue 2815.
2021-08-11OSC 52 can be long enough to make tmux think the output buffer is toonicm
big, so treat it as a redraw. GitHub issue 2814.
2021-08-06Another minor fix - do not draw positions that are under the popup withnicm
spaces, from Anindya Mukherjee. Also a typo fix from Linus Arver.
2021-08-06Tweak previous not to replace complete characters with spaces.nicm
2021-08-06Correctly draw wide characters that are partially obscured.nicm
2021-08-05Do not freeze output in panes when a popup is open, let them continue tonicm
redraw. From Anindya Mukherjee .
2021-06-10Do not clear region based on current cursor position, this is notnicm
necessary anymore and causes problems, GitHub issue 2735.
2021-06-10Improve logging of screen mode changes.nicm
2021-06-10Change cursor style handling so tmux understands which sequences containnicm
blinking and sets the flag appropriately, means that it works whether cnorm disables blinking or not. GitHub issue 2682.
2021-03-12Fix so tmux correctly sends the cvvis (cursor very visible) capabilitynicm
rather than sending it and then immediately undoing it with cnorm. Also turn it off when the cursor shape is changed like xterm.