mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 05:21:10 +00:00
Use a grid cell not a style for the pane style.
This commit is contained in:
23
grid.c
23
grid.c
@ -211,19 +211,28 @@ grid_check_y(struct grid *gd, const char *from, u_int py)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Check if two styles are (visibly) the same. */
|
||||||
|
int
|
||||||
|
grid_cells_look_equal(const struct grid_cell *gc1, const struct grid_cell *gc2)
|
||||||
|
{
|
||||||
|
if (gc1->fg != gc2->fg || gc1->bg != gc2->bg)
|
||||||
|
return (0);
|
||||||
|
if (gc1->attr != gc2->attr || gc1->flags != gc2->flags)
|
||||||
|
return (0);
|
||||||
|
return (1);
|
||||||
|
}
|
||||||
|
|
||||||
/* Compare grid cells. Return 1 if equal, 0 if not. */
|
/* Compare grid cells. Return 1 if equal, 0 if not. */
|
||||||
int
|
int
|
||||||
grid_cells_equal(const struct grid_cell *gca, const struct grid_cell *gcb)
|
grid_cells_equal(const struct grid_cell *gc1, const struct grid_cell *gc2)
|
||||||
{
|
{
|
||||||
if (gca->fg != gcb->fg || gca->bg != gcb->bg)
|
if (!grid_cells_look_equal(gc1, gc2))
|
||||||
return (0);
|
return (0);
|
||||||
if (gca->attr != gcb->attr || gca->flags != gcb->flags)
|
if (gc1->data.width != gc2->data.width)
|
||||||
return (0);
|
return (0);
|
||||||
if (gca->data.width != gcb->data.width)
|
if (gc1->data.size != gc2->data.size)
|
||||||
return (0);
|
return (0);
|
||||||
if (gca->data.size != gcb->data.size)
|
return (memcmp(gc1->data.data, gc2->data.data, gc1->data.size) == 0);
|
||||||
return (0);
|
|
||||||
return (memcmp(gca->data.data, gcb->data.data, gca->data.size) == 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Free one line. */
|
/* Free one line. */
|
||||||
|
4
menu.c
4
menu.c
@ -73,7 +73,7 @@ menu_add_item(struct menu *menu, const struct menu_item *item,
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (fs != NULL)
|
if (fs != NULL)
|
||||||
s = format_single(qitem, item->name, c, fs->s, fs->wl, fs->wp);
|
s = format_single_from_state(qitem, item->name, c, fs);
|
||||||
else
|
else
|
||||||
s = format_single(qitem, item->name, c, NULL, NULL, NULL);
|
s = format_single(qitem, item->name, c, NULL, NULL, NULL);
|
||||||
if (*s == '\0') { /* no item if empty after format expanded */
|
if (*s == '\0') { /* no item if empty after format expanded */
|
||||||
@ -91,7 +91,7 @@ menu_add_item(struct menu *menu, const struct menu_item *item,
|
|||||||
cmd = item->command;
|
cmd = item->command;
|
||||||
if (cmd != NULL) {
|
if (cmd != NULL) {
|
||||||
if (fs != NULL)
|
if (fs != NULL)
|
||||||
s = format_single(qitem, cmd, c, fs->s, fs->wl, fs->wp);
|
s = format_single_from_state(qitem, cmd, c, fs);
|
||||||
else
|
else
|
||||||
s = format_single(qitem, cmd, c, NULL, NULL, NULL);
|
s = format_single(qitem, cmd, c, NULL, NULL, NULL);
|
||||||
} else
|
} else
|
||||||
|
29
style.c
29
style.c
@ -59,6 +59,7 @@ style_parse(struct style *sy, const struct grid_cell *base, const char *in)
|
|||||||
return (0);
|
return (0);
|
||||||
style_copy(&saved, sy);
|
style_copy(&saved, sy);
|
||||||
|
|
||||||
|
log_debug("%s: %s", __func__, in);
|
||||||
do {
|
do {
|
||||||
while (*in != '\0' && strchr(delimiters, *in) != NULL)
|
while (*in != '\0' && strchr(delimiters, *in) != NULL)
|
||||||
in++;
|
in++;
|
||||||
@ -71,6 +72,7 @@ style_parse(struct style *sy, const struct grid_cell *base, const char *in)
|
|||||||
memcpy(tmp, in, end);
|
memcpy(tmp, in, end);
|
||||||
tmp[end] = '\0';
|
tmp[end] = '\0';
|
||||||
|
|
||||||
|
log_debug("%s: %s", __func__, tmp);
|
||||||
if (strcasecmp(tmp, "default") == 0) {
|
if (strcasecmp(tmp, "default") == 0) {
|
||||||
sy->gc.fg = base->fg;
|
sy->gc.fg = base->fg;
|
||||||
sy->gc.bg = base->bg;
|
sy->gc.bg = base->bg;
|
||||||
@ -285,30 +287,3 @@ style_copy(struct style *dst, struct style *src)
|
|||||||
{
|
{
|
||||||
memcpy(dst, src, sizeof *dst);
|
memcpy(dst, src, sizeof *dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if two styles are (visibly) the same. */
|
|
||||||
int
|
|
||||||
style_equal(struct style *sy1, struct style *sy2)
|
|
||||||
{
|
|
||||||
struct grid_cell *gc1 = &sy1->gc;
|
|
||||||
struct grid_cell *gc2 = &sy2->gc;
|
|
||||||
|
|
||||||
if (gc1->fg != gc2->fg)
|
|
||||||
return (0);
|
|
||||||
if (gc1->bg != gc2->bg)
|
|
||||||
return (0);
|
|
||||||
if ((gc1->attr & STYLE_ATTR_MASK) != (gc2->attr & STYLE_ATTR_MASK))
|
|
||||||
return (0);
|
|
||||||
if (sy1->fill != sy2->fill)
|
|
||||||
return (0);
|
|
||||||
if (sy1->align != sy2->align)
|
|
||||||
return (0);
|
|
||||||
return (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Is this style default? */
|
|
||||||
int
|
|
||||||
style_is_default(struct style *sy)
|
|
||||||
{
|
|
||||||
return (style_equal(sy, &style_default));
|
|
||||||
}
|
|
||||||
|
24
tmux.h
24
tmux.h
@ -279,6 +279,8 @@ enum tty_code_code {
|
|||||||
TTYC_DIM,
|
TTYC_DIM,
|
||||||
TTYC_DL,
|
TTYC_DL,
|
||||||
TTYC_DL1,
|
TTYC_DL1,
|
||||||
|
TTYC_DSBP,
|
||||||
|
TTYC_DSFCS,
|
||||||
TTYC_DSMG,
|
TTYC_DSMG,
|
||||||
TTYC_E3,
|
TTYC_E3,
|
||||||
TTYC_ECH,
|
TTYC_ECH,
|
||||||
@ -286,6 +288,8 @@ enum tty_code_code {
|
|||||||
TTYC_EL,
|
TTYC_EL,
|
||||||
TTYC_EL1,
|
TTYC_EL1,
|
||||||
TTYC_ENACS,
|
TTYC_ENACS,
|
||||||
|
TTYC_ENBP,
|
||||||
|
TTYC_ENFCS,
|
||||||
TTYC_ENMG,
|
TTYC_ENMG,
|
||||||
TTYC_FSL,
|
TTYC_FSL,
|
||||||
TTYC_HOME,
|
TTYC_HOME,
|
||||||
@ -924,8 +928,8 @@ struct window_pane {
|
|||||||
|
|
||||||
struct input_ctx *ictx;
|
struct input_ctx *ictx;
|
||||||
|
|
||||||
struct style cached_style;
|
struct grid_cell cached_gc;
|
||||||
struct style cached_active_style;
|
struct grid_cell cached_active_gc;
|
||||||
int *palette;
|
int *palette;
|
||||||
|
|
||||||
int pipe_fd;
|
int pipe_fd;
|
||||||
@ -1196,6 +1200,7 @@ struct tty_term {
|
|||||||
#define TERM_DECSLRM 0x4
|
#define TERM_DECSLRM 0x4
|
||||||
#define TERM_DECFRA 0x8
|
#define TERM_DECFRA 0x8
|
||||||
#define TERM_RGBCOLOURS 0x10
|
#define TERM_RGBCOLOURS 0x10
|
||||||
|
#define TERM_VT100LIKE 0x20
|
||||||
int flags;
|
int flags;
|
||||||
|
|
||||||
LIST_ENTRY(tty_term) entry;
|
LIST_ENTRY(tty_term) entry;
|
||||||
@ -1504,6 +1509,7 @@ struct client {
|
|||||||
|
|
||||||
char *term_name;
|
char *term_name;
|
||||||
int term_features;
|
int term_features;
|
||||||
|
char *term_type;
|
||||||
|
|
||||||
char *ttyname;
|
char *ttyname;
|
||||||
struct tty tty;
|
struct tty tty;
|
||||||
@ -1819,7 +1825,14 @@ char *format_expand(struct format_tree *, const char *);
|
|||||||
char *format_single(struct cmdq_item *, const char *,
|
char *format_single(struct cmdq_item *, const char *,
|
||||||
struct client *, struct session *, struct winlink *,
|
struct client *, struct session *, struct winlink *,
|
||||||
struct window_pane *);
|
struct window_pane *);
|
||||||
|
char *format_single_from_state(struct cmdq_item *, const char *,
|
||||||
|
struct client *, struct cmd_find_state *);
|
||||||
char *format_single_from_target(struct cmdq_item *, const char *);
|
char *format_single_from_target(struct cmdq_item *, const char *);
|
||||||
|
struct format_tree *format_create_defaults(struct cmdq_item *, struct client *,
|
||||||
|
struct session *, struct winlink *, struct window_pane *);
|
||||||
|
struct format_tree *format_create_from_state(struct cmdq_item *,
|
||||||
|
struct client *, struct cmd_find_state *);
|
||||||
|
struct format_tree *format_create_from_target(struct cmdq_item *);
|
||||||
void format_defaults(struct format_tree *, struct client *,
|
void format_defaults(struct format_tree *, struct client *,
|
||||||
struct session *, struct winlink *, struct window_pane *);
|
struct session *, struct winlink *, struct window_pane *);
|
||||||
void format_defaults_window(struct format_tree *, struct window *);
|
void format_defaults_window(struct format_tree *, struct window *);
|
||||||
@ -2028,6 +2041,7 @@ const char *tty_term_describe(struct tty_term *, enum tty_code_code);
|
|||||||
void tty_add_features(int *, const char *, const char *);
|
void tty_add_features(int *, const char *, const char *);
|
||||||
const char *tty_get_features(int);
|
const char *tty_get_features(int);
|
||||||
int tty_apply_features(struct tty_term *, int);
|
int tty_apply_features(struct tty_term *, int);
|
||||||
|
void tty_default_features(int *, const char *, u_int);
|
||||||
|
|
||||||
/* tty-acs.c */
|
/* tty-acs.c */
|
||||||
int tty_acs_needed(struct tty *);
|
int tty_acs_needed(struct tty *);
|
||||||
@ -2349,6 +2363,8 @@ int attributes_fromstring(const char *);
|
|||||||
extern const struct grid_cell grid_default_cell;
|
extern const struct grid_cell grid_default_cell;
|
||||||
void grid_empty_line(struct grid *, u_int, u_int);
|
void grid_empty_line(struct grid *, u_int, u_int);
|
||||||
int grid_cells_equal(const struct grid_cell *, const struct grid_cell *);
|
int grid_cells_equal(const struct grid_cell *, const struct grid_cell *);
|
||||||
|
int grid_cells_look_equal(const struct grid_cell *,
|
||||||
|
const struct grid_cell *);
|
||||||
struct grid *grid_create(u_int, u_int, u_int);
|
struct grid *grid_create(u_int, u_int, u_int);
|
||||||
void grid_destroy(struct grid *);
|
void grid_destroy(struct grid *);
|
||||||
int grid_compare(struct grid *, struct grid *);
|
int grid_compare(struct grid *, struct grid *);
|
||||||
@ -2713,7 +2729,7 @@ struct session *session_create(const char *, const char *, const char *,
|
|||||||
void session_destroy(struct session *, int, const char *);
|
void session_destroy(struct session *, int, const char *);
|
||||||
void session_add_ref(struct session *, const char *);
|
void session_add_ref(struct session *, const char *);
|
||||||
void session_remove_ref(struct session *, const char *);
|
void session_remove_ref(struct session *, const char *);
|
||||||
int session_check_name(const char *);
|
char *session_check_name(const char *);
|
||||||
void session_update_activity(struct session *, struct timeval *);
|
void session_update_activity(struct session *, struct timeval *);
|
||||||
struct session *session_next_session(struct session *);
|
struct session *session_next_session(struct session *);
|
||||||
struct session *session_previous_session(struct session *);
|
struct session *session_previous_session(struct session *);
|
||||||
@ -2804,10 +2820,8 @@ int style_parse(struct style *,const struct grid_cell *,
|
|||||||
const char *style_tostring(struct style *);
|
const char *style_tostring(struct style *);
|
||||||
void style_apply(struct grid_cell *, struct options *,
|
void style_apply(struct grid_cell *, struct options *,
|
||||||
const char *);
|
const char *);
|
||||||
int style_equal(struct style *, struct style *);
|
|
||||||
void style_set(struct style *, const struct grid_cell *);
|
void style_set(struct style *, const struct grid_cell *);
|
||||||
void style_copy(struct style *, struct style *);
|
void style_copy(struct style *, struct style *);
|
||||||
int style_is_default(struct style *);
|
|
||||||
|
|
||||||
/* spawn.c */
|
/* spawn.c */
|
||||||
struct winlink *spawn_window(struct spawn_context *, char **);
|
struct winlink *spawn_window(struct spawn_context *, char **);
|
||||||
|
57
tty.c
57
tty.c
@ -330,13 +330,12 @@ tty_start_tty(struct tty *tty)
|
|||||||
tty_puts(tty, "\033[?1006l\033[?1005l");
|
tty_puts(tty, "\033[?1006l\033[?1005l");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tty_term_flag(tty->term, TTYC_XT)) {
|
if (options_get_number(global_options, "focus-events")) {
|
||||||
if (options_get_number(global_options, "focus-events")) {
|
tty->flags |= TTY_FOCUS;
|
||||||
tty->flags |= TTY_FOCUS;
|
tty_raw(tty, tty_term_string(tty->term, TTYC_ENFCS));
|
||||||
tty_puts(tty, "\033[?1004h");
|
|
||||||
}
|
|
||||||
tty_puts(tty, "\033[?7727h");
|
|
||||||
}
|
}
|
||||||
|
if (tty->term->flags & TERM_VT100LIKE)
|
||||||
|
tty_puts(tty, "\033[?7727h");
|
||||||
|
|
||||||
evtimer_set(&tty->start_timer, tty_start_timer_callback, tty);
|
evtimer_set(&tty->start_timer, tty_start_timer_callback, tty);
|
||||||
evtimer_add(&tty->start_timer, &tv);
|
evtimer_add(&tty->start_timer, &tv);
|
||||||
@ -358,7 +357,7 @@ tty_send_requests(struct tty *tty)
|
|||||||
if (~tty->flags & TTY_STARTED)
|
if (~tty->flags & TTY_STARTED)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (tty_term_flag(tty->term, TTYC_XT)) {
|
if (tty->term->flags & TERM_VT100LIKE) {
|
||||||
if (~tty->flags & TTY_HAVEDA)
|
if (~tty->flags & TTY_HAVEDA)
|
||||||
tty_puts(tty, "\033[>c");
|
tty_puts(tty, "\033[>c");
|
||||||
if (~tty->flags & TTY_HAVEXDA)
|
if (~tty->flags & TTY_HAVEXDA)
|
||||||
@ -407,7 +406,7 @@ tty_stop_tty(struct tty *tty)
|
|||||||
tty_raw(tty, tty_term_string1(tty->term, TTYC_SS, 0));
|
tty_raw(tty, tty_term_string1(tty->term, TTYC_SS, 0));
|
||||||
}
|
}
|
||||||
if (tty->mode & MODE_BRACKETPASTE)
|
if (tty->mode & MODE_BRACKETPASTE)
|
||||||
tty_raw(tty, "\033[?2004l");
|
tty_raw(tty, tty_term_string(tty->term, TTYC_DSBP));
|
||||||
if (*tty->ccolour != '\0')
|
if (*tty->ccolour != '\0')
|
||||||
tty_raw(tty, tty_term_string(tty->term, TTYC_CR));
|
tty_raw(tty, tty_term_string(tty->term, TTYC_CR));
|
||||||
|
|
||||||
@ -417,13 +416,12 @@ tty_stop_tty(struct tty *tty)
|
|||||||
tty_raw(tty, "\033[?1006l\033[?1005l");
|
tty_raw(tty, "\033[?1006l\033[?1005l");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tty_term_flag(tty->term, TTYC_XT)) {
|
if (tty->flags & TTY_FOCUS) {
|
||||||
if (tty->flags & TTY_FOCUS) {
|
tty->flags &= ~TTY_FOCUS;
|
||||||
tty->flags &= ~TTY_FOCUS;
|
tty_raw(tty, tty_term_string(tty->term, TTYC_DSFCS));
|
||||||
tty_raw(tty, "\033[?1004l");
|
|
||||||
}
|
|
||||||
tty_raw(tty, "\033[?7727l");
|
|
||||||
}
|
}
|
||||||
|
if (tty->term->flags & TERM_VT100LIKE)
|
||||||
|
tty_raw(tty, "\033[?7727l");
|
||||||
|
|
||||||
if (tty_use_margin(tty))
|
if (tty_use_margin(tty))
|
||||||
tty_raw(tty, tty_term_string(tty->term, TTYC_DSMG));
|
tty_raw(tty, tty_term_string(tty->term, TTYC_DSMG));
|
||||||
@ -676,7 +674,8 @@ tty_update_mode(struct tty *tty, int mode, struct screen *s)
|
|||||||
mode &= ~MODE_CURSOR;
|
mode &= ~MODE_CURSOR;
|
||||||
|
|
||||||
changed = mode ^ tty->mode;
|
changed = mode ^ tty->mode;
|
||||||
log_debug("%s: update mode %x to %x", c->name, tty->mode, mode);
|
if (changed != 0)
|
||||||
|
log_debug("%s: update mode %x to %x", c->name, tty->mode, mode);
|
||||||
|
|
||||||
if (changed & MODE_BLINKING) {
|
if (changed & MODE_BLINKING) {
|
||||||
if (tty_term_has(tty->term, TTYC_CVVIS))
|
if (tty_term_has(tty->term, TTYC_CVVIS))
|
||||||
@ -729,9 +728,9 @@ tty_update_mode(struct tty *tty, int mode, struct screen *s)
|
|||||||
}
|
}
|
||||||
if (changed & MODE_BRACKETPASTE) {
|
if (changed & MODE_BRACKETPASTE) {
|
||||||
if (mode & MODE_BRACKETPASTE)
|
if (mode & MODE_BRACKETPASTE)
|
||||||
tty_puts(tty, "\033[?2004h");
|
tty_putcode(tty, TTYC_ENBP);
|
||||||
else
|
else
|
||||||
tty_puts(tty, "\033[?2004l");
|
tty_putcode(tty, TTYC_DSBP);
|
||||||
}
|
}
|
||||||
tty->mode = mode;
|
tty->mode = mode;
|
||||||
}
|
}
|
||||||
@ -2691,27 +2690,19 @@ static void
|
|||||||
tty_default_colours(struct grid_cell *gc, struct window_pane *wp)
|
tty_default_colours(struct grid_cell *gc, struct window_pane *wp)
|
||||||
{
|
{
|
||||||
struct options *oo = wp->options;
|
struct options *oo = wp->options;
|
||||||
struct style *style, *active_style;
|
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
if (wp->flags & PANE_STYLECHANGED) {
|
if (wp->flags & PANE_STYLECHANGED) {
|
||||||
wp->flags &= ~PANE_STYLECHANGED;
|
wp->flags &= ~PANE_STYLECHANGED;
|
||||||
|
style_apply(&wp->cached_active_gc, oo, "window-active-style");
|
||||||
active_style = options_get_style(oo, "window-active-style");
|
style_apply(&wp->cached_gc, oo, "window-style");
|
||||||
style = options_get_style(oo, "window-style");
|
|
||||||
|
|
||||||
style_copy(&wp->cached_active_style, active_style);
|
|
||||||
style_copy(&wp->cached_style, style);
|
|
||||||
} else {
|
|
||||||
active_style = &wp->cached_active_style;
|
|
||||||
style = &wp->cached_style;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gc->fg == 8) {
|
if (gc->fg == 8) {
|
||||||
if (wp == wp->window->active && active_style->gc.fg != 8)
|
if (wp == wp->window->active && wp->cached_active_gc.fg != 8)
|
||||||
gc->fg = active_style->gc.fg;
|
gc->fg = wp->cached_active_gc.fg;
|
||||||
else
|
else
|
||||||
gc->fg = style->gc.fg;
|
gc->fg = wp->cached_gc.fg;
|
||||||
|
|
||||||
if (gc->fg != 8) {
|
if (gc->fg != 8) {
|
||||||
c = window_pane_get_palette(wp, gc->fg);
|
c = window_pane_get_palette(wp, gc->fg);
|
||||||
@ -2721,10 +2712,10 @@ tty_default_colours(struct grid_cell *gc, struct window_pane *wp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (gc->bg == 8) {
|
if (gc->bg == 8) {
|
||||||
if (wp == wp->window->active && active_style->gc.bg != 8)
|
if (wp == wp->window->active && wp->cached_active_gc.bg != 8)
|
||||||
gc->bg = active_style->gc.bg;
|
gc->bg = wp->cached_active_gc.bg;
|
||||||
else
|
else
|
||||||
gc->bg = style->gc.bg;
|
gc->bg = wp->cached_gc.bg;
|
||||||
|
|
||||||
if (gc->bg != 8) {
|
if (gc->bg != 8) {
|
||||||
c = window_pane_get_palette(wp, gc->bg);
|
c = window_pane_get_palette(wp, gc->bg);
|
||||||
|
18
window.c
18
window.c
@ -488,8 +488,8 @@ window_set_active_pane(struct window *w, struct window_pane *wp, int notify)
|
|||||||
void
|
void
|
||||||
window_redraw_active_switch(struct window *w, struct window_pane *wp)
|
window_redraw_active_switch(struct window *w, struct window_pane *wp)
|
||||||
{
|
{
|
||||||
struct style *sy1, *sy2;
|
struct grid_cell *gc1, *gc2;
|
||||||
int c1, c2;
|
int c1, c2;
|
||||||
|
|
||||||
if (wp == w->active)
|
if (wp == w->active)
|
||||||
return;
|
return;
|
||||||
@ -499,18 +499,18 @@ window_redraw_active_switch(struct window *w, struct window_pane *wp)
|
|||||||
* If the active and inactive styles or palettes are different,
|
* If the active and inactive styles or palettes are different,
|
||||||
* need to redraw the panes.
|
* need to redraw the panes.
|
||||||
*/
|
*/
|
||||||
sy1 = &wp->cached_style;
|
gc1 = &wp->cached_gc;
|
||||||
sy2 = &wp->cached_active_style;
|
gc2 = &wp->cached_active_gc;
|
||||||
if (!style_equal(sy1, sy2))
|
if (!grid_cells_look_equal(gc1, gc2))
|
||||||
wp->flags |= PANE_REDRAW;
|
wp->flags |= PANE_REDRAW;
|
||||||
else {
|
else {
|
||||||
c1 = window_pane_get_palette(wp, sy1->gc.fg);
|
c1 = window_pane_get_palette(wp, gc1->fg);
|
||||||
c2 = window_pane_get_palette(wp, sy2->gc.fg);
|
c2 = window_pane_get_palette(wp, gc2->fg);
|
||||||
if (c1 != c2)
|
if (c1 != c2)
|
||||||
wp->flags |= PANE_REDRAW;
|
wp->flags |= PANE_REDRAW;
|
||||||
else {
|
else {
|
||||||
c1 = window_pane_get_palette(wp, sy1->gc.bg);
|
c1 = window_pane_get_palette(wp, gc1->bg);
|
||||||
c2 = window_pane_get_palette(wp, sy2->gc.bg);
|
c2 = window_pane_get_palette(wp, gc2->bg);
|
||||||
if (c1 != c2)
|
if (c1 != c2)
|
||||||
wp->flags |= PANE_REDRAW;
|
wp->flags |= PANE_REDRAW;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user