Swapped order of hidding cursor and setting alternative screen (#75)

On some terminal, going to the alternative screen disable cursor hiding.
 Swap of those commands fixed that issue.

Co-authored-by: d <d>
This commit is contained in:
jdfa 2021-03-16 10:46:02 +02:00 committed by GitHub
parent 9cc3779145
commit af4bf379bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -250,6 +250,11 @@ void ScreenInteractive::Loop(Component* component) {
install_signal_handler(SIGWINCH, OnResize); install_signal_handler(SIGWINCH, OnResize);
#endif #endif
if (use_alternative_screen_) {
std::cout << USE_ALTERNATIVE_SCREEN;
on_exit_functions.push([] { std::cout << USE_NORMAL_SCREEN; });
}
// Hide the cursor and show it at exit. // Hide the cursor and show it at exit.
std::cout << HIDE_CURSOR; std::cout << HIDE_CURSOR;
std::cout << DISABLE_LINE_WRAP; std::cout << DISABLE_LINE_WRAP;
@ -264,11 +269,6 @@ void ScreenInteractive::Loop(Component* component) {
auto event_listener = auto event_listener =
std::thread(&EventListener, &quit_, event_receiver_->MakeSender()); std::thread(&EventListener, &quit_, event_receiver_->MakeSender());
if (use_alternative_screen_) {
std::cout << USE_ALTERNATIVE_SCREEN;
on_exit_functions.push([] { std::cout << USE_NORMAL_SCREEN; });
}
// The main loop. // The main loop.
while (!quit_) { while (!quit_) {
if (!event_receiver_->HasPending()) { if (!event_receiver_->HasPending()) {