diff --git a/Applications/Terminal/TerminalWidget.cpp b/Applications/Terminal/TerminalWidget.cpp index 4ab16c15205..2a3216af620 100644 --- a/Applications/Terminal/TerminalWidget.cpp +++ b/Applications/Terminal/TerminalWidget.cpp @@ -266,10 +266,12 @@ void TerminalWidget::paint_event(GPaintEvent& event) should_reverse_fill_for_cursor_or_selection |= selection_contains({ row, column }); attribute = line.attributes[column]; auto character_rect = glyph_rect(row, column); + auto cell_rect = character_rect.inflated(0, m_line_spacing); if (!has_only_one_background_color || should_reverse_fill_for_cursor_or_selection) { - auto cell_rect = character_rect.inflated(0, m_line_spacing); painter.fill_rect(cell_rect, lookup_color(should_reverse_fill_for_cursor_or_selection ? attribute.foreground_color : attribute.background_color).with_alpha(m_opacity)); } + if (attribute.flags & VT::Attribute::Underline) + painter.draw_line(cell_rect.bottom_left(), cell_rect.bottom_right(), lookup_color(should_reverse_fill_for_cursor_or_selection ? attribute.background_color : attribute.foreground_color)); } if (codepoint == ' ')