Восстановить вывод терминала после выхода из программы - PullRequest
0 голосов
/ 25 октября 2018

У меня есть небольшая программа c, которая использует сырой режим терминала.Когда я выхожу из программы (и необработанного режима), терминал очищается.Другие программы, такие как vim, могут справиться с этой ситуацией и восстановить вывод терминала.

Существует ли секретная escape-последовательность или что-то для восстановления терминала, как это было до выполнения моей программы?

1 Ответ

0 голосов
/ 25 октября 2018

Нет необходимости делать восстановление вручную.Многие приложения, такие как vim или less, используют концепцию, называемую альтернативный экран , поэтому проверьте это.Он существует именно для этой цели.

Просто переключитесь на альтернативный экран при запуске вашей программы и вернитесь назад прямо перед его выходом.Для этого можно использовать, например, следующие коды ANSI, но для этого есть и другие способы:

  • переключить на альтернативный экран: \u001B[?1049h
  • переключить с альтернативный экран: \u001B[?1049l

См., например, этот ответ для получения более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...