mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-04 15:45:25 +00:00
Shell: Handle SIGWINCH to get a nice behavior when resizing.
When resizing the terminal, we now clear the entire current line and reset the shell's LineEditor input state. This makes it look and feel kinda the same as xterm. Fixes #286.
This commit is contained in:
@@ -50,10 +50,16 @@ String LineEditor::get_line()
|
||||
if (nread < 0) {
|
||||
if (errno == EINTR) {
|
||||
if (g.was_interrupted) {
|
||||
g.was_interrupted = false;
|
||||
if (!m_buffer.is_empty())
|
||||
printf("^C");
|
||||
}
|
||||
g.was_interrupted = false;
|
||||
if (g.was_resized) {
|
||||
g.was_resized = false;
|
||||
printf("\033[2K\r");
|
||||
m_buffer.clear();
|
||||
return String::empty();
|
||||
}
|
||||
m_buffer.clear();
|
||||
putchar('\n');
|
||||
return String::empty();
|
||||
|
||||
Reference in New Issue
Block a user