boot: driver chatter goes to the log; the console clears its margins
ACPI, DMI, SMP, xHCI, USB, I2C, NVMe, r8169 and ramdisk progress lines are kinfo now: in dmesg and on a verbose boot, off the screen of a working machine. Failures stay cprintf. vt_repaint also paints the strip right of the last column and below the last row, which kept the bottom of the X desktop after Ctrl+Alt+F-key. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
This commit is contained in:
parent
f6c4b6377f
commit
c65bfa3fa3
16 changed files with 57 additions and 42 deletions
|
|
@ -240,6 +240,21 @@ vt_repaint(struct vt *v)
|
|||
{
|
||||
if (!is_active(v))
|
||||
return;
|
||||
|
||||
// The margins first: the screen is rarely a whole number of cells, and the
|
||||
// strip right of the last column and below the last row belongs to nobody.
|
||||
// Coming back from X, that strip still held the bottom of the desktop.
|
||||
int cw, ch;
|
||||
gfx_cell_size(&cw, &ch);
|
||||
if (cw > 0 && ch > 0) {
|
||||
int w = (int)gfx_width(), h = (int)gfx_height();
|
||||
uint32 bg = vt_rgb(v->bg);
|
||||
if (w > v->cols * cw)
|
||||
gfx_fill_rect(v->cols * cw, 0, w - v->cols * cw, h, bg);
|
||||
if (h > v->rows * ch)
|
||||
gfx_fill_rect(0, v->rows * ch, w, h - v->rows * ch, bg);
|
||||
}
|
||||
|
||||
for (int r = 0; r < v->rows; r++)
|
||||
for (int c = 0; c < v->cols; c++) {
|
||||
struct vtcell *k = cell_at(v, c, r);
|
||||
|
|
|
|||
Loading…
Reference in a new issue