mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
grid: invert the default value of ‘linebreak’, from false to true
This commit is contained in:
parent
377997be9d
commit
cdd46cdf85
2 changed files with 12 additions and 6 deletions
14
grid.c
14
grid.c
|
|
@ -284,7 +284,7 @@ grid_row_alloc(int cols, bool initialize)
|
||||||
{
|
{
|
||||||
struct row *row = xmalloc(sizeof(*row));
|
struct row *row = xmalloc(sizeof(*row));
|
||||||
row->dirty = false;
|
row->dirty = false;
|
||||||
row->linebreak = false;
|
row->linebreak = true;
|
||||||
row->extra = NULL;
|
row->extra = NULL;
|
||||||
|
|
||||||
if (initialize) {
|
if (initialize) {
|
||||||
|
|
@ -502,7 +502,7 @@ _line_wrap(struct grid *old_grid, struct row **new_grid, struct row *row,
|
||||||
} else {
|
} else {
|
||||||
/* Scrollback is full, need to re-use a row */
|
/* Scrollback is full, need to re-use a row */
|
||||||
grid_row_reset_extra(new_row);
|
grid_row_reset_extra(new_row);
|
||||||
new_row->linebreak = false;
|
new_row->linebreak = true;
|
||||||
|
|
||||||
tll_foreach(old_grid->sixel_images, it) {
|
tll_foreach(old_grid->sixel_images, it) {
|
||||||
if (it->item.pos.row == *row_idx) {
|
if (it->item.pos.row == *row_idx) {
|
||||||
|
|
@ -833,6 +833,14 @@ grid_resize_and_reflow(
|
||||||
&new_row->cells[new_col_idx], &old_row->cells[from],
|
&new_row->cells[new_col_idx], &old_row->cells[from],
|
||||||
amount * sizeof(struct cell));
|
amount * sizeof(struct cell));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We’ve “printed” to this line - reset linebreak.
|
||||||
|
*
|
||||||
|
* If the old line ends with a hard linebreak, we’ll
|
||||||
|
* set linebreak=true on the last new row we print to.
|
||||||
|
*/
|
||||||
|
new_row->linebreak = false;
|
||||||
|
|
||||||
count -= amount;
|
count -= amount;
|
||||||
from += amount;
|
from += amount;
|
||||||
new_col_idx += amount;
|
new_col_idx += amount;
|
||||||
|
|
@ -891,7 +899,7 @@ grid_resize_and_reflow(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (old_row->linebreak) {
|
if (old_row->linebreak && col_count > 0) {
|
||||||
/* Erase the remaining cells */
|
/* Erase the remaining cells */
|
||||||
memset(&new_row->cells[new_col_idx], 0,
|
memset(&new_row->cells[new_col_idx], 0,
|
||||||
(new_cols - new_col_idx) * sizeof(new_row->cells[0]));
|
(new_cols - new_col_idx) * sizeof(new_row->cells[0]));
|
||||||
|
|
|
||||||
|
|
@ -1811,7 +1811,7 @@ static inline void
|
||||||
erase_line(struct terminal *term, struct row *row)
|
erase_line(struct terminal *term, struct row *row)
|
||||||
{
|
{
|
||||||
erase_cell_range(term, row, 0, term->cols - 1);
|
erase_cell_range(term, row, 0, term->cols - 1);
|
||||||
row->linebreak = false;
|
row->linebreak = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
@ -3297,7 +3297,6 @@ term_print(struct terminal *term, char32_t wc, int width)
|
||||||
/* *Must* get current cell *after* linewrap+insert */
|
/* *Must* get current cell *after* linewrap+insert */
|
||||||
struct row *row = grid->cur_row;
|
struct row *row = grid->cur_row;
|
||||||
row->dirty = true;
|
row->dirty = true;
|
||||||
row->linebreak = true;
|
|
||||||
|
|
||||||
struct cell *cell = &row->cells[col];
|
struct cell *cell = &row->cells[col];
|
||||||
cell->wc = term->vt.last_printed = wc;
|
cell->wc = term->vt.last_printed = wc;
|
||||||
|
|
@ -3357,7 +3356,6 @@ ascii_printer_fast(struct terminal *term, char32_t wc)
|
||||||
|
|
||||||
struct row *row = grid->cur_row;
|
struct row *row = grid->cur_row;
|
||||||
row->dirty = true;
|
row->dirty = true;
|
||||||
row->linebreak = true;
|
|
||||||
|
|
||||||
struct cell *cell = &row->cells[col];
|
struct cell *cell = &row->cells[col];
|
||||||
cell->wc = term->vt.last_printed = wc;
|
cell->wc = term->vt.last_printed = wc;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue