mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-24 01:40:12 -05:00
term: track cell color source
Each cell now tracks it’s current color source: * default fg/bg * base16 fg/bg (maps to *both* the regular and bright colors) * base256 fg/bg * RGB Note that we don’t have enough bits to separate the regular from the bright colors. These _shouldn’t_ be the same, so we ought to be fine...
This commit is contained in:
parent
37b82efa77
commit
d46af6bd7a
6 changed files with 34 additions and 26 deletions
6
osc.c
6
osc.c
|
|
@ -503,7 +503,7 @@ osc_notify(struct terminal *term, char *string)
|
|||
* (https://pub.phyks.me/scripts/urxvt/notify) is very simple:
|
||||
*
|
||||
* #!/usr/bin/perl
|
||||
*
|
||||
*
|
||||
* sub on_osc_seq_perl {
|
||||
* my ($term, $osc, $resp) = @_;
|
||||
* if ($osc =~ /^notify;(\S+);(.*)$/) {
|
||||
|
|
@ -560,7 +560,7 @@ update_color_in_grids(struct terminal *term, uint32_t old_color,
|
|||
|
||||
for (size_t c = 0; c < term->grid->num_cols; c++) {
|
||||
struct cell *cell = &row->cells[c];
|
||||
if (cell->attrs.have_fg &&
|
||||
if (cell->attrs.fg_src != COLOR_DEFAULT &&
|
||||
cell->attrs.fg == old_color)
|
||||
{
|
||||
cell->attrs.fg = new_color;
|
||||
|
|
@ -568,7 +568,7 @@ update_color_in_grids(struct terminal *term, uint32_t old_color,
|
|||
row->dirty = true;
|
||||
}
|
||||
|
||||
if ( cell->attrs.have_bg &&
|
||||
if (cell->attrs.bg_src != COLOR_DEFAULT &&
|
||||
cell->attrs.bg == old_color)
|
||||
{
|
||||
cell->attrs.bg = new_color;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue