From 723e458bd7845429e8ca5a9e7538e3395d359904 Mon Sep 17 00:00:00 2001 From: Bananymous Date: Mon, 12 Aug 2024 21:15:55 +0300 Subject: [PATCH] Kernel/Terminal: Update terminal color themes and fix TTY bright/dark --- .../include/kernel/Terminal/TerminalDriver.h | 28 ++++---- kernel/kernel/Terminal/VirtualTTY.cpp | 64 +++++++++---------- userspace/programs/Terminal/Terminal.cpp | 38 +++++------ 3 files changed, 65 insertions(+), 65 deletions(-) diff --git a/kernel/include/kernel/Terminal/TerminalDriver.h b/kernel/include/kernel/Terminal/TerminalDriver.h index a009f662..ab9a5fa9 100644 --- a/kernel/include/kernel/Terminal/TerminalDriver.h +++ b/kernel/include/kernel/Terminal/TerminalDriver.h @@ -46,21 +46,21 @@ namespace Kernel namespace TerminalColor { static constexpr TerminalDriver::Color BLACK = 0x000000; - static constexpr TerminalDriver::Color BLUE = 0x0000AA; - static constexpr TerminalDriver::Color GREEN = 0x00AA00; - static constexpr TerminalDriver::Color CYAN = 0x00AAAA; - static constexpr TerminalDriver::Color RED = 0xAA0000; - static constexpr TerminalDriver::Color MAGENTA = 0xAA00AA; - static constexpr TerminalDriver::Color YELLOW = 0xAA5500; - static constexpr TerminalDriver::Color WHITE = 0xAAAAAA; + static constexpr TerminalDriver::Color RED = 0xFF0000; + static constexpr TerminalDriver::Color GREEN = 0x00FF00; + static constexpr TerminalDriver::Color YELLOW = 0xFFFF00; + static constexpr TerminalDriver::Color BLUE = 0x0000FF; + static constexpr TerminalDriver::Color MAGENTA = 0xFF00FF; + static constexpr TerminalDriver::Color CYAN = 0x00FFFF; + static constexpr TerminalDriver::Color WHITE = 0xBFBFBF; - static constexpr TerminalDriver::Color BRIGHT_BLACK = 0x555555; - static constexpr TerminalDriver::Color BRIGHT_BLUE = 0x5555FF; - static constexpr TerminalDriver::Color BRIGHT_GREEN = 0x55FF55; - static constexpr TerminalDriver::Color BRIGHT_CYAN = 0x55FFFF; - static constexpr TerminalDriver::Color BRIGHT_RED = 0xFF5555; - static constexpr TerminalDriver::Color BRIGHT_MAGENTA = 0xFF55FF; - static constexpr TerminalDriver::Color BRIGHT_YELLOW = 0xFFFF55; + static constexpr TerminalDriver::Color BRIGHT_BLACK = 0x3F3F3F; + static constexpr TerminalDriver::Color BRIGHT_RED = 0xFF7F7F; + static constexpr TerminalDriver::Color BRIGHT_GREEN = 0x7FFF7F; + static constexpr TerminalDriver::Color BRIGHT_YELLOW = 0xFFFF7F; + static constexpr TerminalDriver::Color BRIGHT_BLUE = 0x7F7FFF; + static constexpr TerminalDriver::Color BRIGHT_MAGENTA = 0xFF7FFF; + static constexpr TerminalDriver::Color BRIGHT_CYAN = 0x7FFFFF; static constexpr TerminalDriver::Color BRIGHT_WHITE = 0xFFFFFF; } diff --git a/kernel/kernel/Terminal/VirtualTTY.cpp b/kernel/kernel/Terminal/VirtualTTY.cpp index 7f37e289..131881b1 100644 --- a/kernel/kernel/Terminal/VirtualTTY.cpp +++ b/kernel/kernel/Terminal/VirtualTTY.cpp @@ -115,41 +115,41 @@ namespace Kernel m_background = TerminalColor::BLACK; break; - case 30: m_foreground = TerminalColor::BRIGHT_BLACK; break; - case 31: m_foreground = TerminalColor::BRIGHT_RED; break; - case 32: m_foreground = TerminalColor::BRIGHT_GREEN; break; - case 33: m_foreground = TerminalColor::BRIGHT_YELLOW; break; - case 34: m_foreground = TerminalColor::BRIGHT_BLUE; break; - case 35: m_foreground = TerminalColor::BRIGHT_MAGENTA; break; - case 36: m_foreground = TerminalColor::BRIGHT_CYAN; break; - case 37: m_foreground = TerminalColor::BRIGHT_WHITE; break; + case 30: m_foreground = TerminalColor::BLACK; break; + case 31: m_foreground = TerminalColor::RED; break; + case 32: m_foreground = TerminalColor::GREEN; break; + case 33: m_foreground = TerminalColor::YELLOW; break; + case 34: m_foreground = TerminalColor::BLUE; break; + case 35: m_foreground = TerminalColor::MAGENTA; break; + case 36: m_foreground = TerminalColor::CYAN; break; + case 37: m_foreground = TerminalColor::WHITE; break; - case 40: m_background = TerminalColor::BRIGHT_BLACK; break; - case 41: m_background = TerminalColor::BRIGHT_RED; break; - case 42: m_background = TerminalColor::BRIGHT_GREEN; break; - case 43: m_background = TerminalColor::BRIGHT_YELLOW; break; - case 44: m_background = TerminalColor::BRIGHT_BLUE; break; - case 45: m_background = TerminalColor::BRIGHT_MAGENTA; break; - case 46: m_background = TerminalColor::BRIGHT_CYAN; break; - case 47: m_background = TerminalColor::BRIGHT_WHITE; break; + case 40: m_background = TerminalColor::BLACK; break; + case 41: m_background = TerminalColor::RED; break; + case 42: m_background = TerminalColor::GREEN; break; + case 43: m_background = TerminalColor::YELLOW; break; + case 44: m_background = TerminalColor::BLUE; break; + case 45: m_background = TerminalColor::MAGENTA; break; + case 46: m_background = TerminalColor::CYAN; break; + case 47: m_background = TerminalColor::WHITE; break; - case 90: m_foreground = TerminalColor::BLACK; break; - case 91: m_foreground = TerminalColor::RED; break; - case 92: m_foreground = TerminalColor::GREEN; break; - case 93: m_foreground = TerminalColor::YELLOW; break; - case 94: m_foreground = TerminalColor::BLUE; break; - case 95: m_foreground = TerminalColor::MAGENTA; break; - case 96: m_foreground = TerminalColor::CYAN; break; - case 97: m_foreground = TerminalColor::WHITE; break; + case 90: m_foreground = TerminalColor::BRIGHT_BLACK; break; + case 91: m_foreground = TerminalColor::BRIGHT_RED; break; + case 92: m_foreground = TerminalColor::BRIGHT_GREEN; break; + case 93: m_foreground = TerminalColor::BRIGHT_YELLOW; break; + case 94: m_foreground = TerminalColor::BRIGHT_BLUE; break; + case 95: m_foreground = TerminalColor::BRIGHT_MAGENTA; break; + case 96: m_foreground = TerminalColor::BRIGHT_CYAN; break; + case 97: m_foreground = TerminalColor::BRIGHT_WHITE; break; - case 100: m_background = TerminalColor::BLACK; break; - case 101: m_background = TerminalColor::RED; break; - case 102: m_background = TerminalColor::GREEN; break; - case 103: m_background = TerminalColor::YELLOW; break; - case 104: m_background = TerminalColor::BLUE; break; - case 105: m_background = TerminalColor::MAGENTA; break; - case 106: m_background = TerminalColor::CYAN; break; - case 107: m_background = TerminalColor::WHITE; break; + case 100: m_background = TerminalColor::BRIGHT_BLACK; break; + case 101: m_background = TerminalColor::BRIGHT_RED; break; + case 102: m_background = TerminalColor::BRIGHT_GREEN; break; + case 103: m_background = TerminalColor::BRIGHT_YELLOW; break; + case 104: m_background = TerminalColor::BRIGHT_BLUE; break; + case 105: m_background = TerminalColor::BRIGHT_MAGENTA; break; + case 106: m_background = TerminalColor::BRIGHT_CYAN; break; + case 107: m_background = TerminalColor::BRIGHT_WHITE; break; } } diff --git a/userspace/programs/Terminal/Terminal.cpp b/userspace/programs/Terminal/Terminal.cpp index e344083a..fdc28b6c 100644 --- a/userspace/programs/Terminal/Terminal.cpp +++ b/userspace/programs/Terminal/Terminal.cpp @@ -184,26 +184,26 @@ bool Terminal::read_shell() void Terminal::handle_sgr() { - constexpr uint32_t colors_default[] { - 0x555555, - 0xFF5555, - 0x55FF55, - 0xFFFF55, - 0x5555FF, - 0xFF55FF, - 0x55FFFF, - 0xFFFFFF, + constexpr uint32_t colors_dark[] { + 0xFF'000000, + 0xFF'FF0000, + 0xFF'00FF00, + 0xFF'FFFF00, + 0xFF'0000FF, + 0xFF'FF00FF, + 0xFF'00FFFF, + 0xFF'BFBFBF, }; constexpr uint32_t colors_bright[] { - 0xAAAAAA, - 0xFFAAAA, - 0xAAFFAA, - 0xFFFFAA, - 0xAAAAFF, - 0xFFAAFF, - 0xAAFFFF, - 0xFFFFFF, + 0xFF'3F3F3F, + 0xFF'FF7F7F, + 0xFF'7FFF7F, + 0xFF'FFFF7F, + 0xFF'7F7FFF, + 0xFF'FF7FFF, + 0xFF'7FFFFF, + 0xFF'FFFFFF, }; switch (m_csi_info.fields[0]) @@ -213,10 +213,10 @@ void Terminal::handle_sgr() m_bg_color = 0x000000; break; case 30: case 31: case 32: case 33: case 34: case 35: case 36: case 37: - m_fg_color = colors_default[m_csi_info.fields[0] - 30]; + m_fg_color = colors_dark[m_csi_info.fields[0] - 30]; break; case 40: case 41: case 42: case 43: case 44: case 45: case 46: case 47: - m_bg_color = colors_default[m_csi_info.fields[0] - 40]; + m_bg_color = colors_dark[m_csi_info.fields[0] - 40]; break; case 90: case 91: case 92: case 93: case 94: case 95: case 96: case 97: m_fg_color = colors_bright[m_csi_info.fields[0] - 90];