Allow features to be disabled using @ suffix in terminal-features, from

Michael Grant.
This commit is contained in:
nicm
2026-08-17 14:47:41 +00:00
committed by tmux update bot
parent 1729bb8e8a
commit a18d4e0067
7 changed files with 89 additions and 57 deletions

16
tmux.h
View File

@@ -1,4 +1,4 @@
/* $OpenBSD: tmux.h,v 1.1423 2026/08/17 07:56:56 nicm Exp $ */
/* $OpenBSD: tmux.h,v 1.1424 2026/08/17 14:47:41 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -1684,7 +1684,7 @@ struct key_event {
struct tty_term {
char *name;
struct tty *tty;
int features;
int applied_features;
char acs[UCHAR_MAX + 1][2];
@@ -2185,6 +2185,7 @@ struct client {
char *term_name;
int term_features;
int term_nofeatures;
char *term_type;
char **term_caps;
u_int term_ncaps;
@@ -2954,8 +2955,7 @@ extern struct tty_terms tty_terms;
u_int tty_term_ncodes(void);
void tty_term_apply(struct tty_term *, const char *, int);
void tty_term_apply_overrides(struct tty_term *);
struct tty_term *tty_term_create(struct tty *, char *, char **, u_int, int *,
char **);
struct tty_term *tty_term_create(struct tty *, char *, char **, u_int, char **);
void tty_term_free(struct tty_term *);
int tty_term_read_list(const char *, int, char ***, u_int *,
char **);
@@ -2977,11 +2977,13 @@ int tty_term_flag(struct tty_term *, enum tty_code_code);
const char *tty_term_describe(struct tty_term *, enum tty_code_code);
/* tty-features.c */
void tty_add_features(int *, const char *, const char *);
void tty_parse_client_features(struct client *, const char *,
const char *);
void tty_parse_features(const char *, const char *, int *, int *);
const char *tty_get_features(int);
int tty_feature_present(struct tty_term *, const char *);
int tty_apply_features(struct tty_term *, int);
void tty_default_features(int *, const char *, u_int);
int tty_apply_features(struct tty_term *);
void tty_default_features(struct client *, const char *, u_int);
/* tty-acs.c */
int tty_acs_needed(struct tty *);