Kernel: Clear TTY when setting as current
Actually this should replace from old buffer, but this works for now.
This commit is contained in:
@@ -43,7 +43,8 @@ namespace Kernel
|
||||
|
||||
virtual uint32_t width() const override;
|
||||
virtual uint32_t height() const override;
|
||||
virtual void putchar_impl(uint8_t) override;
|
||||
|
||||
virtual void clear() override { putchar_impl('\e'); putchar_impl('['); putchar_impl('2'); putchar_impl('J'); }
|
||||
|
||||
virtual void update() override;
|
||||
|
||||
@@ -51,6 +52,7 @@ namespace Kernel
|
||||
|
||||
protected:
|
||||
virtual BAN::StringView name() const override { return m_name; }
|
||||
virtual void putchar_impl(uint8_t) override;
|
||||
|
||||
private:
|
||||
SerialTTY(Serial);
|
||||
|
||||
@@ -38,7 +38,8 @@ namespace Kernel
|
||||
virtual uint32_t height() const = 0;
|
||||
virtual uint32_t width() const = 0;
|
||||
void putchar(uint8_t ch);
|
||||
virtual void putchar_impl(uint8_t ch) = 0;
|
||||
|
||||
virtual void clear() = 0;
|
||||
|
||||
virtual bool has_data_impl() const override;
|
||||
|
||||
@@ -47,6 +48,7 @@ namespace Kernel
|
||||
: CharacterDevice(mode, uid, gid)
|
||||
{ }
|
||||
|
||||
virtual void putchar_impl(uint8_t ch) = 0;
|
||||
virtual BAN::ErrorOr<size_t> read_impl(off_t, void*, size_t) override;
|
||||
virtual BAN::ErrorOr<size_t> write_impl(off_t, const void*, size_t) override;
|
||||
|
||||
|
||||
@@ -21,15 +21,16 @@ namespace Kernel
|
||||
|
||||
virtual uint32_t height() const override { return m_height; }
|
||||
virtual uint32_t width() const override { return m_width; }
|
||||
virtual void putchar_impl(uint8_t ch) override;
|
||||
|
||||
virtual void clear() override;
|
||||
|
||||
protected:
|
||||
virtual BAN::StringView name() const override { return m_name; }
|
||||
virtual void putchar_impl(uint8_t ch) override;
|
||||
|
||||
private:
|
||||
VirtualTTY(TerminalDriver*);
|
||||
|
||||
void clear();
|
||||
void reset_ansi();
|
||||
void handle_ansi_csi(uint8_t ch);
|
||||
void handle_ansi_csi_color();
|
||||
|
||||
Reference in New Issue
Block a user