OpenBSD CVS

CVS log for src/usr.bin/tmux/tty-term.c


[BACK] Up to [local] / src / usr.bin / tmux

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.101 / (download) - annotate - [select for diffs], Tue Oct 17 09:55:32 2023 UTC (7 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, HEAD
Changes since 1.100: +6 -6 lines
Diff to previous 1.100 (colored)

Switch to tiparm_s (added in ncurses 6.4-20230424) instead of tparm,
which allows ncurses to validate the capabilities correctly.

Revision 1.100 / (download) - annotate - [select for diffs], Sat Sep 2 09:17:23 2023 UTC (8 months, 2 weeks ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.99: +2 -1 lines
Diff to previous 1.99 (colored)

Setulc only does RGB colour so add Setulc1 to do non-RGB colours, GitHub
issue 3627.

Revision 1.99 / (download) - annotate - [select for diffs], Fri Jun 30 13:19:32 2023 UTC (10 months, 2 weeks ago) by nicm
Branch: MAIN
Changes since 1.98: +4 -2 lines
Diff to previous 1.98 (colored)

Get rid of some warnings with GCC 10, from Thomas Klausner.

Revision 1.98 / (download) - annotate - [select for diffs], Fri Apr 28 05:59:35 2023 UTC (12 months, 3 weeks ago) by nicm
Branch: MAIN
Changes since 1.97: +25 -15 lines
Diff to previous 1.97 (colored)

Do not fatal if tparm fails, instead just log it (not working sequences
are better than exiting).

Revision 1.97 / (download) - annotate - [select for diffs], Tue Apr 25 09:31:50 2023 UTC (12 months, 3 weeks ago) by nicm
Branch: MAIN
Changes since 1.96: +37 -12 lines
Diff to previous 1.96 (colored)

Tidy tparm wrapper functions to have more obvious names and check tparm
return value.

Revision 1.96 / (download) - annotate - [select for diffs], Fri Nov 11 08:44:11 2022 UTC (18 months, 1 week ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.95: +4 -1 lines
Diff to previous 1.95 (colored)

Tweak previous to set and log the feature instead of just setting the
flag.

Revision 1.95 / (download) - annotate - [select for diffs], Fri Nov 11 08:37:55 2022 UTC (18 months, 1 week ago) by nicm
Branch: MAIN
Changes since 1.94: +2 -1 lines
Diff to previous 1.94 (colored)

Parse primary device attributes as well as secondary and add a SIXEL
flag (not used yet), from Anindya Mukherjee.

Revision 1.94 / (download) - annotate - [select for diffs], Mon Aug 15 08:54:03 2022 UTC (21 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2
Changes since 1.93: +2 -1 lines
Diff to previous 1.93 (colored)

Add a Nobr terminfo capability to tell tmux the terminal does not use
bright colours for bold (makes a difference to how tmux applies palette
differences). From Damien Tardy-Panis in GitHub issue 3301.

Revision 1.93 / (download) - annotate - [select for diffs], Thu Jun 30 09:55:53 2022 UTC (22 months, 2 weeks ago) by nicm
Branch: MAIN
Changes since 1.92: +2 -1 lines
Diff to previous 1.92 (colored)

Add support for OSC 8 hyperlinks (a VTE extension now supported by other
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.

Revision 1.92 / (download) - annotate - [select for diffs], Thu Mar 24 09:05:57 2022 UTC (2 years, 1 month ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.91: +2 -1 lines
Diff to previous 1.91 (colored)

Add a capability for OSC 7 and use it similarly to how the title is set
(and controlled by the same set-titles option). GitHub issue 3127.

Revision 1.91 / (download) - annotate - [select for diffs], Wed Aug 25 07:37:20 2021 UTC (2 years, 8 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.90: +2 -2 lines
Diff to previous 1.90 (colored)

setupterm needs char * not const char * on some platforms.

Revision 1.90 / (download) - annotate - [select for diffs], Thu Jun 10 07:45:43 2021 UTC (2 years, 11 months ago) by nicm
Branch: MAIN
Changes since 1.89: +2 -2 lines
Diff to previous 1.89 (colored)

Fix warnings, from Jan Tache in GitHub issue 2692.

Revision 1.89 / (download) - annotate - [select for diffs], Thu Jun 10 07:28:45 2021 UTC (2 years, 11 months ago) by nicm
Branch: MAIN
Changes since 1.88: +65 -35 lines
Diff to previous 1.88 (colored)

Three changes to fix problems with xterm in VT340 mode, reported by
Thomas Sattler.

1) Do not include the DECSLRM or DECFRA features for xterm; they will be
   added instead if secondary DA responds as VT420 (this happens
   already).

2) Set or reset the individual flags after terminal-overrides is
   applied, so the user can properly disable them.

3) Add a capability for DECFRA ("Rect").

Revision 1.88 / (download) - annotate - [select for diffs], Mon Mar 1 10:50:14 2021 UTC (3 years, 2 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.87: +1 -4 lines
Diff to previous 1.87 (colored)

There is no need to call del_curterm in the server anymore.

Revision 1.87 / (download) - annotate - [select for diffs], Wed Feb 17 07:18:36 2021 UTC (3 years, 3 months ago) by nicm
Branch: MAIN
Changes since 1.86: +112 -52 lines
Diff to previous 1.86 (colored)

Move the call to setupterm() into the client and have it pass the
results to the server over imsg, means the server does not need to enter
ncurses or read terminfo db. Old clients will not work with a new
server.

Revision 1.86 / (download) - annotate - [select for diffs], Fri Feb 5 12:29:19 2021 UTC (3 years, 3 months ago) by nicm
Branch: MAIN
Changes since 1.85: +2 -1 lines
Diff to previous 1.85 (colored)

Send Unicode directional isolate characters around horizontal pane
borders if the terminal support UTF-8 and an extension terminfo(5)
capability "Bidi" is present. On terminals with BiDi support (ie, VTE)
this seems to be enough to display right-to-left text acceptably enough
to be usable (with some caveats about the mouse position). Requested by
and with help from Mahmoud Elagdar in GitHub issue 2425.

Revision 1.85 / (download) - annotate - [select for diffs], Tue Oct 13 07:29:24 2020 UTC (3 years, 7 months ago) by nicm
Branch: MAIN
Changes since 1.84: +4 -1 lines
Diff to previous 1.84 (colored)

Set RGB flag if capabilities are present, GitHub issue 2418.

Revision 1.84 / (download) - annotate - [select for diffs], Mon Oct 5 09:53:01 2020 UTC (3 years, 7 months ago) by nicm
Branch: MAIN
Changes since 1.83: +3 -1 lines
Diff to previous 1.83 (colored)

Use the setal capability as well as (tmux's) Setulc.

Revision 1.83 / (download) - annotate - [select for diffs], Mon Aug 24 05:22:28 2020 UTC (3 years, 8 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8
Changes since 1.82: +3 -1 lines
Diff to previous 1.82 (colored)

Do not run off end of string when stripping delays, reported by Dave
Vandervies.

Revision 1.82 / (download) - annotate - [select for diffs], Fri Jun 5 09:32:15 2020 UTC (3 years, 11 months ago) by nicm
Branch: MAIN
Changes since 1.81: +12 -7 lines
Diff to previous 1.81 (colored)

Fix various confusion about am vs xenl.

Revision 1.81 / (download) - annotate - [select for diffs], Sat May 16 16:44:54 2020 UTC (4 years ago) by nicm
Branch: MAIN
Changes since 1.80: +3 -1 lines
Diff to previous 1.80 (colored)

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.

Revision 1.80 / (download) - annotate - [select for diffs], Sat May 16 14:46:14 2020 UTC (4 years ago) by nicm
Branch: MAIN
Changes since 1.79: +17 -9 lines
Diff to previous 1.79 (colored)

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.

Revision 1.79 / (download) - annotate - [select for diffs], Sat May 16 14:39:40 2020 UTC (4 years ago) by nicm
Branch: MAIN
Changes since 1.78: +4 -2 lines
Diff to previous 1.78 (colored)

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.

Revision 1.78 / (download) - annotate - [select for diffs], Sat May 16 14:34:44 2020 UTC (4 years ago) by nicm
Branch: MAIN
Changes since 1.77: +6 -4 lines
Diff to previous 1.77 (colored)

Add a feature for bracketed paste.

Revision 1.77 / (download) - annotate - [select for diffs], Sat May 16 14:22:51 2020 UTC (4 years ago) by nicm
Branch: MAIN
Changes since 1.76: +7 -3 lines
Diff to previous 1.76 (colored)

Add extension terminfo(5) capabilities for margins.

Revision 1.76 / (download) - annotate - [select for diffs], Thu Apr 23 10:22:53 2020 UTC (4 years ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.75: +5 -2 lines
Diff to previous 1.75 (colored)

Overrides need to be applied both before and after features in case they
change flags used to detect a feature.

Revision 1.75 / (download) - annotate - [select for diffs], Mon Apr 20 15:37:32 2020 UTC (4 years ago) by nicm
Branch: MAIN
Changes since 1.74: +27 -16 lines
Diff to previous 1.74 (colored)

Apply terminal-overrides after terminal detection, it always takes
precedence.

Revision 1.74 / (download) - annotate - [select for diffs], Mon Apr 20 13:38:48 2020 UTC (4 years ago) by nicm
Branch: MAIN
Changes since 1.73: +2 -2 lines
Diff to previous 1.73 (colored)

Change the Sync capability to be a string instead of a flag.

Revision 1.73 / (download) - annotate - [select for diffs], Mon Apr 20 13:25:36 2020 UTC (4 years ago) by nicm
Branch: MAIN
Changes since 1.72: +53 -57 lines
Diff to previous 1.72 (colored)

Tidy up the terminal detection and feature code and add named sets of
terminal features, each of which are defined in one place and map to a
builtin set of terminfo(5) capabilities. Features can be specified based
on TERM with a new terminal-features option or with the -T flag when
running tmux. tmux will also detect a few common terminals from the DA
and DSR responses.

This is intended to make it easier to configure tmux's use of
terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5)
databases or for features which do not yet have a terminfo(5) entry.
Instead of having to grok terminfo(5) capability names and what they
should be set to in the terminal-overrides option, the user can
hopefully just give tmux a feature name and let it do the right thing.

The terminal-overrides option remains both for backwards compatibility
and to allow tweaks of individual capabilities.

tmux already did much of this already, this makes it tidier and simpler
to configure.

Revision 1.72 / (download) - annotate - [select for diffs], Thu Apr 16 13:35:24 2020 UTC (4 years, 1 month ago) by nicm
Branch: MAIN
Changes since 1.71: +6 -1 lines
Diff to previous 1.71 (colored)

Add support for the iTerm2 sychronized updates escape sequence which
drastically reduces flickering.

Revision 1.71 / (download) - annotate - [select for diffs], Tue Jan 28 11:39:51 2020 UTC (4 years, 3 months ago) by nicm
Branch: MAIN
Changes since 1.70: +10 -20 lines
Diff to previous 1.70 (colored)

If we can identify the terminal as iTerm2 or as tmux, we can be sure
they support 256 and RGB colours, so set those flags too.

Revision 1.70 / (download) - annotate - [select for diffs], Sun Jan 12 21:07:07 2020 UTC (4 years, 4 months ago) by nicm
Branch: MAIN
Changes since 1.69: +2 -2 lines
Diff to previous 1.69 (colored)

The terminal type was never as much use as I expected so remove it in
favour of a couple of flags for the features used (DECSLRM and DECFRA).
Also rename the flag for no xenl to be more obvious while here.

Revision 1.69 / (download) - annotate - [select for diffs], Thu Nov 28 09:56:25 2019 UTC (4 years, 5 months ago) by nicm
Branch: MAIN
Changes since 1.68: +3 -2 lines
Diff to previous 1.68 (colored)

Long lines and spacing fixes.

Revision 1.68 / (download) - annotate - [select for diffs], Thu Oct 3 10:24:06 2019 UTC (4 years, 7 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.67: +3 -3 lines
Diff to previous 1.67 (colored)

Do not lazily use BUFSIZ for "I don't care what size" when building
strings because it is only guaranteed to be 256 bytes and even the
default 1024 is not always enough. Reported by Gregory Pakosz.

Revision 1.67 / (download) - annotate - [select for diffs], Mon Aug 5 06:42:02 2019 UTC (4 years, 9 months ago) by nicm
Branch: MAIN
Changes since 1.66: +2 -1 lines
Diff to previous 1.66 (colored)

Add support for the SD (scroll down) escape sequence, GitHub issue 1861.

Revision 1.66 / (download) - annotate - [select for diffs], Thu Jun 27 15:17:41 2019 UTC (4 years, 10 months ago) by nicm
Branch: MAIN
Changes since 1.65: +2 -1 lines
Diff to previous 1.65 (colored)

Add support for underscore colours with Setulc capability, mostly from
Kai Moschcau.

Revision 1.65 / (download) - annotate - [select for diffs], Wed May 29 20:05:15 2019 UTC (4 years, 11 months ago) by nicm
Branch: MAIN
Changes since 1.64: +2 -2 lines
Diff to previous 1.64 (colored)

Use VIS_CSTYLE for the arguments and add the missing escapes it can
generate to the parser.

Revision 1.64 / (download) - annotate - [select for diffs], Mon May 13 20:10:23 2019 UTC (5 years ago) by nicm
Branch: MAIN
Changes since 1.63: +2 -1 lines
Diff to previous 1.63 (colored)

Add support for overline (SGR 53), from Ricardo Banffy.

Revision 1.63 / (download) - annotate - [select for diffs], Thu Apr 25 19:36:59 2019 UTC (5 years ago) by nicm
Branch: MAIN
Changes since 1.62: +2 -3 lines
Diff to previous 1.62 (colored)

options_array_item_value cannot return NULL.

Revision 1.62 / (download) - annotate - [select for diffs], Tue Apr 23 20:36:55 2019 UTC (5 years ago) by nicm
Branch: MAIN
Changes since 1.61: +5 -4 lines
Diff to previous 1.61 (colored)

Indicate an array option with a flag rather than a special type so that
in future will not have to be strings.

Revision 1.61 / (download) - annotate - [select for diffs], Mon Mar 18 11:58:40 2019 UTC (5 years, 2 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5
Changes since 1.60: +9 -8 lines
Diff to previous 1.60 (colored)

Make array options a sparse tree instead of an array of char * and
remove the size limit.

Revision 1.60 / (download) - annotate - [select for diffs], Thu Oct 18 07:57:57 2018 UTC (5 years, 7 months ago) by nicm
Branch: MAIN
Changes since 1.59: +40 -10 lines
Diff to previous 1.59 (colored)

Support for extended underline styles on terminals which offer them,
enabled by adding the Smulx capability with terminal-overrides (add
something like ',vte*:Smulx=\E[4\:%p1%dm'). GitHub issue 1492.

Revision 1.59 / (download) - annotate - [select for diffs], Mon May 7 13:39:09 2018 UTC (6 years ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.58: +4 -3 lines
Diff to previous 1.58 (colored)

Handle terminfo colors > 256 correctly, GitHub issue 1337.

Revision 1.58 / (download) - annotate - [select for diffs], Sun Feb 4 10:10:39 2018 UTC (6 years, 3 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3
Changes since 1.57: +7 -3 lines
Diff to previous 1.57 (colored)

Upstream ncurses has introduced terminfo capabilities to specify RGB
colour ("true" or "direct" colour). These consist of new entries (such
as "xterm-direct") which have a different setaf/setab implementation,
colors and pairs set to 0x1000000 and 0x10000, and a new RGB flag.

The setaf/setab definitions seem to be geared towards what ncurses (or
emacs maybe) needs, in that the new versions do only ANSI and RGB
colours (they can't be used for the 256 colour palette); they rely on
the silly ISO colon-separated version of SGR; and they use a weird
multiplication scheme so they still only need one argument. The higher
values of colors and pairs require a recent ncurses to parse.

tmux can use the RGB flag to detect RGB colour support (keeping the old
Tc extension for backwards compatibility for now). However, as we still
want to send 256 colour information unchanged when possible, the new
setaf/setab are awkward. So when RGB is present, reserve setaf/setab
only for ANSI colours and use the escape sequences directly for 256 and
RGB colours. (To my knowledge no recent terminal uses unusual escape
sequences for these in any case.)

Revision 1.57 / (download) - annotate - [select for diffs], Sun Aug 27 08:33:55 2017 UTC (6 years, 8 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_6_2_BASE, OPENBSD_6_2
Changes since 1.56: +24 -22 lines
Diff to previous 1.56 (colored)

Use kind and kri for S-Up/Down as well as kUP and kDN.

Revision 1.56 / (download) - annotate - [select for diffs], Fri Jun 16 11:50:06 2017 UTC (6 years, 11 months ago) by nicm
Branch: MAIN
Changes since 1.55: +6 -2 lines
Diff to previous 1.55 (colored)

Log terminal capabilities for each new terminal.

Revision 1.55 / (download) - annotate - [select for diffs], Wed May 31 08:43:44 2017 UTC (6 years, 11 months ago) by nicm
Branch: MAIN
Changes since 1.54: +21 -1 lines
Diff to previous 1.54 (colored)

Look for setrgbf and setrgbb terminfo extensions for RGB colour. This is
the most reasonable of the various (some bizarre) suggestions for
capabilities.

Revision 1.54 / (download) - annotate - [select for diffs], Mon May 15 16:44:04 2017 UTC (7 years ago) by nicm
Branch: MAIN
Changes since 1.53: +2 -1 lines
Diff to previous 1.53 (colored)

Check the terminfo(5) U8 capability and disable using UTF-8 for ACS if
it is present and zero. This is useful for users with terminals or fonts
that do not correctly support UTF-8 line drawing characters. GitHub
issue 927, reported by Hiroaki Yamazoe and Akinori Hattori.

Revision 1.53 / (download) - annotate - [select for diffs], Wed Mar 22 07:16:54 2017 UTC (7 years, 1 month ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.52: +2 -1 lines
Diff to previous 1.52 (colored)

Add support for the strikethrough attribute (SGR 9), using the new smxx
terminfo capability. This means there are now nine attribute bits, so
anything above 0xff uses an extended cell.

Revision 1.52 / (download) - annotate - [select for diffs], Tue Feb 21 14:18:12 2017 UTC (7 years, 2 months ago) by nicm
Branch: MAIN
Changes since 1.51: +1 -4 lines
Diff to previous 1.51 (colored)

Don't need is1,is2,is3 so remove them.

Revision 1.51 / (download) - annotate - [select for diffs], Wed Feb 8 17:31:09 2017 UTC (7 years, 3 months ago) by nicm
Branch: MAIN
Changes since 1.50: +2 -1 lines
Diff to previous 1.50 (colored)

Add support for scroll up escape sequence (CSI S) and use it when
possible instead of sending individual line feeds.

Revision 1.50 / (download) - annotate - [select for diffs], Mon Feb 6 22:05:11 2017 UTC (7 years, 3 months ago) by nicm
Branch: MAIN
Changes since 1.49: +2 -1 lines
Diff to previous 1.49 (colored)

Use DECFRA on VT420 compatible terminals (so, xterm) and ED on all
others for clearing panes.

Revision 1.49 / (download) - annotate - [select for diffs], Tue Jan 24 20:05:15 2017 UTC (7 years, 3 months ago) by nicm
Branch: MAIN
Changes since 1.48: +72 -69 lines
Diff to previous 1.48 (colored)

Convert terminal-overrides to an array option.

Revision 1.48 / (download) - annotate - [select for diffs], Fri Jan 13 11:56:43 2017 UTC (7 years, 4 months ago) by nicm
Branch: MAIN
Changes since 1.47: +2 -3 lines
Diff to previous 1.47 (colored)

Make options_get_string return const string.

Revision 1.47 / (download) - annotate - [select for diffs], Fri Dec 9 21:39:27 2016 UTC (7 years, 5 months ago) by nicm
Branch: MAIN
Changes since 1.46: +2 -2 lines
Diff to previous 1.46 (colored)

Spacing nits.

Revision 1.46 / (download) - annotate - [select for diffs], Mon Oct 10 21:29:23 2016 UTC (7 years, 7 months ago) by nicm
Branch: MAIN
Changes since 1.45: +6 -6 lines
Diff to previous 1.45 (colored)

Loads more static, except for cmd-*.c and window-*.c.

Revision 1.45 / (download) - annotate - [select for diffs], Fri Jan 29 11:13:56 2016 UTC (8 years, 3 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.44: +2 -1 lines
Diff to previous 1.44 (colored)

Support for RGB colour, using the extended cell mechanism to avoid
wasting unnecessary space. The 'Tc' flag must be set in the external
TERM entry (using terminal-overrides or a custom terminfo entry), if not
tmux will map to the closest of the 256 or 16 colour palettes.

Mostly from Suraj N Kurapati, based on a diff originally by someone else.

Revision 1.44 / (download) - annotate - [select for diffs], Tue Jan 19 15:59:12 2016 UTC (8 years, 4 months ago) by nicm
Branch: MAIN
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored)

I no longer use my SourceForge address so replace it.

Revision 1.43 / (download) - annotate - [select for diffs], Fri Dec 11 16:37:21 2015 UTC (8 years, 5 months ago) by nicm
Branch: MAIN
Changes since 1.42: +5 -5 lines
Diff to previous 1.42 (colored)

Style nits and line wrapping of function declarations.

Revision 1.42 / (download) - annotate - [select for diffs], Wed Nov 18 13:06:54 2015 UTC (8 years, 6 months ago) by nicm
Branch: MAIN
Changes since 1.41: +4 -4 lines
Diff to previous 1.41 (colored)

Sync the entire xmalloc.[ch] with the other users, but with the addition
of xrealloc, xvasprintf, xvsnprintf.

Revision 1.41 / (download) - annotate - [select for diffs], Tue Oct 27 15:58:43 2015 UTC (8 years, 6 months ago) by nicm
Branch: MAIN
Changes since 1.40: +2 -2 lines
Diff to previous 1.40 (colored)

Move struct options into options.c.

Revision 1.40 / (download) - annotate - [select for diffs], Thu Sep 24 07:02:18 2015 UTC (8 years, 7 months ago) by nicm
Branch: MAIN
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored)

Assign flag not number for flag types (we got away with it so far
because that are a union). From Filipe Brandenburger.

Revision 1.39 / (download) - annotate - [select for diffs], Tue Sep 1 19:50:09 2015 UTC (8 years, 8 months ago) by nicm
Branch: MAIN
Changes since 1.38: +1 -2 lines
Diff to previous 1.38 (colored)

Tweak some error messages/comments.

Revision 1.38 / (download) - annotate - [select for diffs], Tue Jul 28 15:18:10 2015 UTC (8 years, 9 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.37: +270 -209 lines
Diff to previous 1.37 (colored)

Tidy up the way terminals are described and move some structs out of tmux.h.

Revision 1.37 / (download) - annotate - [select for diffs], Sun Apr 19 21:05:27 2015 UTC (9 years, 1 month ago) by nicm
Branch: MAIN
Changes since 1.36: +2 -1 lines
Diff to previous 1.36 (colored)

Support setting the default window and pane background colours (window
and active pane via window-style and window-active-style options, an
individual pane by a new select-pane -P flag). From J Raynor.

Revision 1.36 / (download) - annotate - [select for diffs], Tue Jan 20 08:18:04 2015 UTC (9 years, 4 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.35: +2 -1 lines
Diff to previous 1.35 (colored)

Support blinking cursor mode, both the xterm CSI ?12 h/l and (the
backwards) screen CSI 34 h/l. From Guanpeng Xu.

Revision 1.35 / (download) - annotate - [select for diffs], Mon Jul 21 10:25:48 2014 UTC (9 years, 10 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.34: +44 -1 lines
Diff to previous 1.34 (colored)

Drop explicit support for F13-F20 and change to match the xterm terminfo
entry:

        F13-F24 are S-F1 to S-F12
        F25-F36 are C-F1 to C-F12
        F37-F48 are C-S-F1 to C-S-F12
        F49-F60 are M-F1 to M-F12
and     F61-F63 are M-S-F1 to M-S-F3

This should be no difference for applications inside tmux, but means
that any key binding for F13 will need to be replaced by S-F1 and so on.

Revision 1.34 / (download) - annotate - [select for diffs], Thu Apr 17 12:57:28 2014 UTC (10 years, 1 month ago) by nicm
Branch: MAIN
Changes since 1.33: +3 -2 lines
Diff to previous 1.33 (colored)

Wrap some long lines.

Revision 1.33 / (download) - annotate - [select for diffs], Sun Feb 23 00:53:06 2014 UTC (10 years, 2 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.32: +6 -3 lines
Diff to previous 1.32 (colored)

Change terminal-overrides to a server option (now that we have them), it
doesn't make much sense as a session option.

Revision 1.32 / (download) - annotate - [select for diffs], Sun Jun 2 07:52:15 2013 UTC (10 years, 11 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.31: +4 -4 lines
Diff to previous 1.31 (colored)

The actual terminfo entries we ended up with for cursor changes are Cs,
Ce, Ss and Se (not Cc, Ce, Cs, Csr). So use and document these instead
of the ones we were using earlier.

Revision 1.31 / (download) - annotate - [select for diffs], Wed Mar 27 11:17:12 2013 UTC (11 years, 1 month ago) by nicm
Branch: MAIN
Changes since 1.30: +2 -4 lines
Diff to previous 1.30 (colored)

Remove tmux's (already minimal) 88 colour support. Such terminals are
few and unnecessary.

Revision 1.30 / (download) - annotate - [select for diffs], Tue Jan 15 23:18:55 2013 UTC (11 years, 4 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3
Changes since 1.29: +2 -1 lines
Diff to previous 1.29 (colored)

Implement ECH (erase character, CSI X). Reported by Christian Neukirchen.

Revision 1.29 / (download) - annotate - [select for diffs], Tue Jul 10 11:53:01 2012 UTC (11 years, 10 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE, OPENBSD_5_2
Changes since 1.28: +8 -9 lines
Diff to previous 1.28 (colored)

xfree is not particularly helpful, remove it. From Thomas Adam.

Revision 1.28 / (download) - annotate - [select for diffs], Tue May 22 09:36:12 2012 UTC (12 years ago) by nicm
Branch: MAIN
Changes since 1.27: +1 -3 lines
Diff to previous 1.27 (colored)

If there are any terminals with insert mode but not ich1, they can go
through the slow path. Tidies code slightly.

Revision 1.27 / (download) - annotate - [select for diffs], Thu Dec 1 23:47:08 2011 UTC (12 years, 5 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_5_1_BASE, OPENBSD_5_1
Changes since 1.26: +3 -1 lines
Diff to previous 1.26 (colored)

Log terminal overrides.

Revision 1.26 / (download) - annotate - [select for diffs], Sun Oct 23 10:16:14 2011 UTC (12 years, 6 months ago) by nicm
Branch: MAIN
Changes since 1.25: +2 -1 lines
Diff to previous 1.25 (colored)

Support for \e[3J to clear the history. Also send the corresponding
terminfo code (E3) before locking.

Revision 1.25 / (download) - annotate - [select for diffs], Fri May 20 19:17:39 2011 UTC (13 years ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.24: +3 -1 lines
Diff to previous 1.24 (colored)

Support DECSCUSR sequence to set the cursor style with two new
terminfo(5) extensions, Cs and Csr. Written by Ailin Nemui.

Revision 1.24 / (download) - annotate - [select for diffs], Fri May 20 19:03:58 2011 UTC (13 years ago) by nicm
Branch: MAIN
Changes since 1.23: +9 -1 lines
Diff to previous 1.23 (colored)

Support xterm(1) cursor colour change sequences through terminfo(5) Cc
(set) and Cr (reset) extensions. Originally by Sean Estabrooks, tweaked
by me and Ailin Nemui.

Revision 1.23 / (download) - annotate - [select for diffs], Wed May 18 20:24:29 2011 UTC (13 years ago) by nicm
Branch: MAIN
Changes since 1.22: +8 -1 lines
Diff to previous 1.22 (colored)

Support setting the xterm clipboard when copying from copy mode using
the xterm escape sequence for the purpose (if xterm is configured to
allow it).

Written by and much discussed Ailin Nemui, guidance on
xterm/termcap/terminfo from Thomas Dickey.

Revision 1.22 / (download) - annotate - [select for diffs], Sun May 8 19:53:08 2011 UTC (13 years ago) by nicm
Branch: MAIN
Changes since 1.21: +18 -3 lines
Diff to previous 1.21 (colored)

Use the tsl and fsl terminfo(5) capabilities to update terminal title
and automatically fill them in on terminals with the XT capability
(which means their title setting is xterm-compatible). From hsim at
gmx.li.

Revision 1.21 / (download) - annotate - [select for diffs], Sat Apr 9 07:48:08 2011 UTC (13 years, 1 month ago) by nicm
Branch: MAIN
Changes since 1.20: +2 -1 lines
Diff to previous 1.20 (colored)

If the terminal supports sitm for italics, use it instead of standout
(smso). From Tiago Resende.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Jan 26 00:11:47 2011 UTC (13 years, 3 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE, OPENBSD_4_9
Changes since 1.19: +5 -5 lines
Diff to previous 1.19 (colored)

Use LIST_* not SLIST_*.

Revision 1.19 / (download) - annotate - [select for diffs], Sat Jan 1 03:32:28 2011 UTC (13 years, 4 months ago) by nicm
Branch: MAIN
Changes since 1.18: +17 -16 lines
Diff to previous 1.18 (colored)

Another table that should be const.

Revision 1.18 / (download) - annotate - [select for diffs], Sat Sep 11 16:19:22 2010 UTC (13 years, 8 months ago) by nicm
Branch: MAIN
Changes since 1.17: +12 -2 lines
Diff to previous 1.17 (colored)

Use UTF-8 line drawing characters on UTF-8 terminals. Fixes some stupid
terminals (I'm looking at you, putty) which disable the vt100 ACS mode
switching sequences in UTF-8 mode.

Also on terminals without ACS at all, use ASCII equivalents where
obvious.

Revision 1.17 / (download) - annotate - [select for diffs], Sat Sep 11 15:43:11 2010 UTC (13 years, 8 months ago) by nicm
Branch: MAIN
Changes since 1.16: +3 -2 lines
Diff to previous 1.16 (colored)

Ignore terminal overrides settings without a value.

Revision 1.16 / (download) - annotate - [select for diffs], Thu Dec 3 22:50:10 2009 UTC (14 years, 5 months ago) by nicm
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE, OPENBSD_4_8, OPENBSD_4_7_BASE, OPENBSD_4_7
Changes since 1.15: +7 -5 lines
Diff to previous 1.15 (colored)

Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last
time now I've configured emacs to make them displayed in really annoying
colours...

Revision 1.15 / (download) - annotate - [select for diffs], Thu Nov 26 14:46:08 2009 UTC (14 years, 5 months ago) by nicm
Branch: MAIN
Changes since 1.14: +1 -16 lines
Diff to previous 1.14 (colored)

Emulate il1, dl1, ich1 to run (albeit slowly) with vt100 feature set.

Revision 1.14 / (download) - annotate - [select for diffs], Thu Nov 12 08:05:23 2009 UTC (14 years, 6 months ago) by nicm
Branch: MAIN
Changes since 1.13: +1 -5 lines
Diff to previous 1.13 (colored)

Emulate the ri (reverse index) capability: this allows tmux to at least start
on Sun consoles (TERM=sun or sun-color), even if there appear to still be
problems on some boxes (my Blade 100 is fine but edd's Blade 1000 shows odd
screen corruption).

Revision 1.13 / (download) - annotate - [select for diffs], Mon Oct 26 16:00:51 2009 UTC (14 years, 6 months ago) by nicm
Branch: MAIN
Changes since 1.12: +62 -2 lines
Diff to previous 1.12 (colored)

Support the (mostly new) function key+modifier caps (kIC-kIC7). Most of these
will be caught (soon) by the xterm keys code in xterm itself but some other
descriptions such as rxvt define them as well.

Revision 1.12 / (download) - annotate - [select for diffs], Sun Oct 25 21:11:21 2009 UTC (14 years, 6 months ago) by nicm
Branch: MAIN
Changes since 1.11: +1 -12 lines
Diff to previous 1.11 (colored)

Remove the -d flag to tmux and just use op/AX to detect default colours.

Irritatingly, although op can be used to tell if a terminal supports default
colours, it can't be used to set them because in some terminfo descriptions it
resets attributes as a side-effect (acts as sgr0) and in others it doesn't, so
it is not possible to determine reliably what the terminal state will be
afterwards. So if AX is missing and op is present, tmux just sends sgr0.

Anyone using -d for a terminal who finds they actually needed it can replace it
using terminal-overrides, but please let me know as it is probably an omission
from terminfo.

Revision 1.11 / (download) - annotate - [select for diffs], Sat Oct 24 21:18:33 2009 UTC (14 years, 6 months ago) by nicm
Branch: MAIN
Changes since 1.10: +2 -6 lines
Diff to previous 1.10 (colored)

Bring a comment into line with reality.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Oct 12 13:01:18 2009 UTC (14 years, 7 months ago) by nicm
Branch: MAIN
Changes since 1.9: +11 -2 lines
Diff to previous 1.9 (colored)

Use relative cursor movement instead of absolute when possible and when
supported by the terminal to reduce the size of the output data (generally
about 10-20%).

Revision 1.9 / (download) - annotate - [select for diffs], Sun Aug 23 11:40:05 2009 UTC (14 years, 8 months ago) by nicm
Branch: MAIN
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

Check the return value of strunvis against -1 not NULL.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Aug 21 12:29:59 2009 UTC (14 years, 9 months ago) by nicm
Branch: MAIN
Changes since 1.7: +1 -5 lines
Diff to previous 1.7 (colored)

Emulate dch/dch1 if missing by redrawing the entire line.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Aug 5 19:05:02 2009 UTC (14 years, 9 months ago) by nicm
Branch: MAIN
Changes since 1.6: +2 -2 lines
Diff to previous 1.6 (colored)

Clear the codes array earlier as tty_term_free could be called on error.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Aug 3 15:30:16 2009 UTC (14 years, 9 months ago) by nicm
Branch: MAIN
Changes since 1.5: +3 -2 lines
Diff to previous 1.5 (colored)

Don't try to free old string values (and crash) when they are overridden unless
they were actually found in the source terminal description. Reported by jmc.

Revision 1.5 / (download) - annotate - [select for diffs], Mon Aug 3 14:10:54 2009 UTC (14 years, 9 months ago) by nicm
Branch: MAIN
Changes since 1.4: +80 -21 lines
Diff to previous 1.4 (colored)

Add a terminal-overrides session option allowing individual terminfo(5) entries
to be overridden. The 88col/256col checks are now moved into the default
setting and out of the code.

Also remove a couple of old workarounds for xterm and rxvt which are no longer
necessary (tmux can emulate them if missing).

Revision 1.4 / (download) - annotate - [select for diffs], Sun Aug 2 20:47:35 2009 UTC (14 years, 9 months ago) by matthieu
Branch: MAIN
Changes since 1.3: +6 -6 lines
Diff to previous 1.3 (colored)

Fix checking of setupterm(3) error codes. While there include the
name of the terminal type causing the error where relevant. ok nicm@.

Revision 1.3 / (download) - annotate - [select for diffs], Tue Jul 14 06:30:45 2009 UTC (14 years, 10 months ago) by nicm
Branch: MAIN
Changes since 1.2: +5 -5 lines
Diff to previous 1.2 (colored)

Since tmux doesn't actually need ncurses, use -lcurses/curses.h
instead. Pointed out by millert a while ago.

Revision 1.2 / (download) - annotate - [select for diffs], Fri Jun 5 03:13:16 2009 UTC (14 years, 11 months ago) by ray
Branch: MAIN
CVS Tags: OPENBSD_4_6_BASE, OPENBSD_4_6
Changes since 1.1: +1 -2 lines
Diff to previous 1.1 (colored)

Remove trailing newlines, spaces, and tabs.

No binary change.

Revision 1.1 / (download) - annotate - [select for diffs], Mon Jun 1 22:58:49 2009 UTC (14 years, 11 months ago) by nicm
Branch: MAIN

Import tmux, a terminal multiplexor allowing (among other things) a single
terminal to be switched between several different windows and programs
displayed on one terminal be detached from one terminal and moved to another.

ok deraadt pirofti

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.