Настройка разметки экрана

Элементы экрана
Размещение элементов экрана
Руководство по разметке экрана

Можно перегруппировать список пакетов aptitude, делая соответствующие изменения в файле настройки.

Элементы экрана

Разметка хранится в группе настроек Aptitude::UI::Default-Package-View, и состоит из списка элементов экрана:

Name Type {
  Row строка;
  Column столбец;
  Width ширина;
  Height высота;

  дополнительные параметры...
};

Это создаёт элемент экрана, названный Name; тип создаваемого элемента определяется Type. Опции Row, Column, Width и Height должны присутствовать; они определяют то, где помещается элемент экрана. (См. ниже детальное объяснение того, как организуются элементы экрана.)

Примеры того, как изменить разметку экрана см. в определениях темы в файле /usr/share/aptitude/aptitude-defaults.

Доступны следующие типы элементов экрана:

Description

Этот элемент экрана будет содержать «информационную область» (обычно описание выбранного в настоящий момент пакета).

Опция PopUpDownKey дает имя клавиатурной команды, которая приведёт к показу или скрытию элемента экрана. Например, установка значения ShowHideDescription придаст текущему элементу экрана то же поведение, что по-умолчанию имеет информационная область. Опция PopUpDownLinked дает имя другому элементу экрана; текущий элемент будет показан или скрыт, в зависимости от того, показан или скрыт другой элемент.

MainWidget

Это место для «основного» элемента экрана: обычно это список пакетов. Разметка экрана должна содержать только один элемент MainWidget: не больше, не меньше.

Static

Область экрана, отображающая некоторый текст, возможно содержащая коды форматирования, описанные в «Настройка того, как отображаются пакеты». Отображаемый текст может быть задан в опции Columns, или он может быть сохранен в другой переменной настройки, определенной опцией ColumnsCfg. Цвет текста определяется цветом, обозначенным опцией Color.

Static объекты могут отображаться и скрываться так же как объекты Description, используя опции PopUpDownKey и PopUpDownLinked.

Размещение элементов экрана

Элементы экрана организованы в «таблицу». Левый верхний угол элемента находится в ячейке, заданной её опциями Row и Column (обычно начиная со строки 0 и столбца 0, но этого не требуется). Ширина элемента в ячейках определяется его опцией Width, а его высота задается опцией Height.

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

В ситуации, когда недостаточно места, каждая строка и каждый столбец всех графических элементов, у которых опции RowShrink или ColShrink установлены в значение true, будут сокращены. Если этого не достаточно, все строки и столбцы будут сокращены так, чтобы подойти доступному пространству.

Если элемент экрана не раскрыт, но его строка или столбец раскрыты, его выравнивание определяется опциями RowAlign и ColAlign. Установка их в значение Left, Right, Top, Bottom или Center сообщит aptitude то, куда поместить данный элемент в строке или столбце.

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

Header Static {
  Row 0;
  Column 0;
  Width 3;
  Height 1;

  ColExpand true;
  ColAlign Center;

  RowAlign Center;

  Color ScreenHeaderColor;
  ColumnsCfg HEADER;
};

Руководство по разметке экрана

Доступны следующие настройки элементов экрана:

ColAlign выравнивание;

выравнивание должно быть либо Left, либо Right, либо Center. Если строка, содержащая текущий элемент экрана шире, чем сам этот элемент, и опция ColExpand установлена в значение false, элемент будет помещен в строку согласно значению выравнивания.

Если эта опция отсутствует, по-умолчанию она имеет значение Left.

ColExpand true|false;

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

Если эта опция отсутствует, в качестве его значения по-умолчанию принимается false.

Color имя-цвета;

Опция применяется к Static элементам. имя-цвета является именем цвета (например, ScreenStatusColor), который должен использоваться как цвет «по-умолчанию» для элемента экрана.

Если эта опция отсутствует, в качестве его значения по-умолчанию принимается DefaultWidgetBackground.

ColShrink true|false;

Если значением этой опции является true для каждого элемента в столбце, и не достает горизонтального пространства, столбец будет сокращен так, чтобы подходить доступному пространству. Заметьте, что столбец может быть сокращен, даже если значением ColShrink является false; это просто показывает, что aptitude попытается сократить конкретный столбец до того, как будут сокращены другие столбцы.

Если эта опция отсутствует, в качестве его значения по-умолчанию принимается false.

Column столбец;

Определяет самый правый столбец, содержащий этот элемент экрана.

Columns формат;

Опция применяется к Static элементам экрана, для которых не установлена опция ColumnsCfg. Она устанавливает отображаемое содержание объекта статуса; она является форматной строкой, описанной в «Настройка того, как отображаются пакеты».

ColumnsCfg HEADER|STATUS|имя;

Опция применяется к Static элементам экрана. Она устанавливает формат отображения текущего элемента в значение другой переменной настройки: если она HEADER или STATUS, используется опция Aptitude::UI::Package-Header-Format и Aptitude::UI::Package-Status-Format, соответственно; в противном случае, используется опция имя .

Если эта опция не задана, значение опции Columns используется для контроля содержания статичного объекта.

Height высота;

Определяет высоту текущего элемента экрана.

PopUpDownKey команда;

Опция применяется к Description и Static элементам экрана.

команда является именем клавиатурной команды (например, ShowHideDescription). Когда эта клавиша нажата, элемент экрана скрывается, если он видим, и отображается, если он скрыт.

PopUpDownLinked элемент;

Опция применяется к Description и Static элементам экрана.

элемент является именем элемента экрана. Когда элемент отображается, текущий элемент также будет отображаться; когда элемент скрыт, текущий элемент также будет скрыт.

Row строка;

Определяет самая верхняя строка, содержащая этот элемент экрана.

RowAlign выравнивание;

alignment должно быть либо Top, либо Bottom, либо Center. Если строка, содержащая текущий отображаемый элемент выше, чем сам элемент, и значением RowExpand является false, этот элемент будет помещён в строку согласно значению alignment.

Если эта опция не задана, её значением по-умолчанию является Top.

RowExpand true|false;

Если значением этой опции является true, то строка, содержащая этот элемент экрана получит некоторое дополнительное место по вертикали, если оно доступно.

Если эта опция отсутствует, в качестве его значения по-умолчанию принимается false.

RowShrink true|false;

Если значением этой опции является true для каждого элемента в строке, и места по вертикали не достаточно, строка будет обрезана до необходимого размера, чтобы войти в доступное место. Заметьте, что строка может быть обрезана даже если опция RowShrink имеет значение false; это лишь показывает, что aptitude попытается обрезать определенную строку до того, как обрежет остальные строки.

Если эта опция отсутствует, в качестве его значения по-умолчанию принимается false.

Visible true|false;

Если значением этой опции является false, то этот элемент экрана изначально будет скрыт. Вероятно, это полезно только вместе с PopUpDownKey и/или PopUpDownLinked.

Если эта опция не задана, её значением по-умолчанию является true.

Width ширина;

Определяет ширину текущего элемента экрана.