Сделайте страницы человека узкими и центрированными в терминале

Enlightenment - это диспетчер Windows, но с дополнительными функциями, однако в настоящее время Cinnamon не имеет какой-либо поддержки для других диспетчеров окон, кроме Маффин (по умолчанию - Cinnamons).

Причина, по которой вам пришлось выйти из системы, чтобы использовать Enlightenment, не в том, что это «нечто большее, чем просто менеджер Windows». Просто потому, что это не корица. Итак, вы пытались запустить две отдельные среды графического интерфейса пользователя на одном X-сервере.

1
27.10.2018, 15:40
1 ответ

man работает следующим образом:

  1. он использует groffдля преобразования исходных файлов справочной страницы из языка разметки nroff в печатный текст;
  2. Затем он передает groffвывод на пейджер, который показывает его пользователю. Пейджер по умолчанию — less.

groffформатирует страницу по ширине manговорит, что она используется. По умолчанию manиспользует всю ширину консоли, но мы можем переопределить ее, используя MANWIDTHпеременную окружения:

export MANWIDTH=100

Я не нашел способа проинструктировать groffоб отступе, но, к счастью, lessесть средство, называемое препроцессором ввода(man lessдля подробностей ). Можно предоставить команду для передачи ввода less. Поэтому я написал скрипт, который делает отступ для каждой строки ввода:

$ cat $HOME/bin/olivetti
#!/bin/sh
# Define desired width of the text.
WIDTH=100
# Evaluate left indentation based on terminal width.
INDENT=$(( ( $(tput cols) - $WIDTH ) / 2 ))
# Make line of that amount of spaces.
INDENT_LINE=$( printf %${INDENT}s )
# Put it on the beginning of each line of the input file.
sed "s/^/${INDENT_LINE}/" -

lessберет команду для входного препроцессора из переменной окружения $LESSOPEN:

export LESSOPEN="|- olivetti %s"

|-означает указание lessиспользовать препроцессор в качестве конвейера :для перенаправления на него стандартного ввода и чтения из него стандартного вывода.

3
27.01.2020, 23:31

Теги

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