При подключении подкаталога home к собственному разделу запутывается отчет об использовании диска

Большинство терминалов, которые вы, скорее всего, будете использовать, используют управляющие последовательности для сохранения и восстановления позиции курсора. Это возможности sc (сохранить курсор) и rc (восстановить курсор) в описании терминала, которые вы можете использовать через tput (как и cup):

tput sc
tput cup 50 10
echo some stuff
echo more stuff
tput rc

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

POSIX, кстати, документирует только часть tput, потому что инструмент фактически является частью другого стандарта, X/Open Curses. Это кратко описано в разделе переносимость на странице руководства.

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

4
26.12.2017, 12:22
0 ответов

Теги

Похожие вопросы