Программно изменить размер шрифта в терминале Linux, используя Python

Нажатие на ограничение хранения файла cookie может указывать на то, что вы слишком много храните на стороне клиента. Возможно, разумно хранить его на сервере, что-то вроде сеанса. Ключ к сеансу затем может быть сохранен в файле cookie.

Альтернативный метод состоит в том, чтобы не требовать, чтобы запросы охватывали несколько страниц, и просто сохраняйте данные на стороне клиента, а не как файлы cookie, но как различные поля формы и / или текстовые поля (они могут быть скрыты). Достоинство такого метода заключается в том, что он не попадает в предел cookie, как у вас. Он также упрощает / упрощает ваш серверный код, так как ему не нужно отслеживать состояние (что вам всегда нужно делать, если охватывать страницы, и, следовательно, причина, по которой вы нажимаете ограничение на файлы cookie) .

1
задан Mehdi 18 January 2019 в 13:59
поделиться

2 ответа

Нет простого способа сделать это через терминалы. Терминалы поддерживают так называемые управляющие последовательности, которые могут устанавливать множество параметров, таких как цвет текста и другие, но не существует управляющей последовательности для установки размера шрифта. См., Например, https://en.wikipedia.org/wiki/ANSI_escape_code и https://invisible-island.net/xterm/ctlseqs/ctlseqs.html о том, какого рода действия поддерживаются.

0
ответ дан sohalt 18 January 2019 в 13:59
поделиться

Проверка источника (vte и gnome-терминал), похоже, что сделать это невозможно. Другие терминалы (например, xterm) могут делать это с помощью escape-последовательностей. См. Управляющие последовательности XTerm :

OSC Ps ; Pt ST
          Set Text Parameters.  For colors and font, if Pt is a "?", the
          control sequence elicits a response which consists of the con-
          trol sequence which would set the corresponding value.  The
          dtterm control sequences allow you to determine the icon name
          and window title.

  ...

            Ps = 5 0  -> Set Font to Pt.  These controls may be disabled
          using the allowFontOps resource.  If Pt begins with a "#",
          index in the font menu, relative (if the next character is a
          plus or minus sign) or absolute.  A number is expected but not
          required after the sign (the default is the current entry for
          relative, zero for absolute indexing).

vte распознает 50 , но это (как и многие другие функции xterm) это просто заглушка, которая ничего не делает. Источники xterm включают 20-летний сценарий , который демонстрирует эту особенность (см. fonts.sh ).

Вместо использования escape-последовательности вы можете использовать инструмент wmctrl (который может попросить оконного менеджера договориться с терминалом). Некоторые сделали это с другими терминалами, например, с терминологией (но в конечном итоге с помощью escape-последовательности).

vte имеет некоторый код, который может быть доступен из скрипта Python, используя g_signal_connect, чтобы связать сигнал decrease-font-size и increase-font-size (см. исходный код ). Сигнальный код - это то, что вы используете с клавиатурой. Но как вы можете определить указатель на объект из скрипта, запускаемого вне эмулятора терминала, не ясно.

0
ответ дан Thomas Dickey 18 January 2019 в 13:59
поделиться
Другие вопросы по тегам:

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