1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 06:17:34 +00:00

LibVT+Everywhere: Introduce 'automarks' and 'clear previous command'

Automarks are similar to bookmarks placed by the terminal, allowing the
user to selectively remove a single command and its output from the
terminal scrollback.
This commit implements a single way to add marks: automatically placing
them when the shell becomes interactive.

To make sure the shell behaves correctly after its expected prompt
position changes, the terminal layer forces a resize event to be passed
to the shell on such (possibly) partial clears; this also has the nice
side effect of fixing the disappearing prompt on the preexisting "clear
including history" action: Fixes #4192.
This commit is contained in:
Ali Mohammad Pur 2024-02-06 01:41:35 +03:30 committed by Ali Mohammad Pur
parent cde528fdd9
commit 54ab6fe5b9
12 changed files with 238 additions and 0 deletions

View file

@ -48,4 +48,22 @@
text: "Confirm exit when process is active"
}
}
@GUI::GroupBox {
title: "Auto-mark behavior"
preferred_height: "fit"
layout: @GUI::VerticalBoxLayout {
margins: [8]
}
@GUI::RadioButton {
name: "automark_off"
text: "Do not auto-mark"
}
@GUI::RadioButton {
name: "automark_on_interactive_prompt"
text: "Auto-mark on interactive shell prompts"
}
}
}