V aptitude je možné přeskládat prvky na obrazovce pomocí úprav konfiguračního souboru.
Rozložení obrazovky je uloženo v konfigurační skupině
Aptitude::UI::Default-Package-View a skládá se ze
seznamu definic grafických prvků:
Názevtyp{ Rowřádek; Columnsloupec; Widthšířka; Heightvýška;dodatečné volby...};
Tímto se vytvoří grafický prvek pojmenovaný
Název. Položky Row, Column, Width a Height jsou povinné a určují
umístění prvku na obrazovce (viz podrobné vysvětlení dále v textu).
Pro konkrétní příklady různých rozložení nahlédněte do definic témat v souboru
/usr/share/aptitude/aptitude-defaults.
K dispozici máte následující typy grafických prvků:
DescriptionTento prvek obsahuje „informační oblast“ (typicky popis vybraného balíku).
Volbou PopUpDownKey můžete
zadat název příkazu, kterým se prvek zobrazí nebo skryje. Například
nastavením na hodnotu ShowHideDescription
docílíte toho, že se prvek bude chovat jako standardní informační
oblast. Volba PopUpDownLinked
akceptuje název jiného elementu, se kterým se „sváže“. To
znamená že, se element zobrazí nebo skryje podle toho, zda je vázaný
element zobrazen nebo ne.
MainWidget
Toto je oblast, ve které je umístěno „hlavní“ zobrazení -
typicky seznam balíků. Na obrazovce musí existovat právě jeden prvek
MainWidget - ne více, ne méně.
Static
Oblast obrazovky, která zobrazuje nějaký text (může obsahovat
i formátovací znaky popsané v „Přizpůsobení zobrazení balíků“). Text můžete zadat přímo volbou
Columns, nebo
ho můžete uložit do jiné konfigurační proměnné, jejíž název zadáte
volbou ColumnsCfg. Barva textu je
určena volbou Color.
Zobrazování a skrývání statických položek se děje
stejně jako u položek Description volbami
PopUpDownKey
a PopUpDownLinked.
Prvky jsou na obrazovce umístěny v „tabulce“. Horní levý
roh prvku leží v buňce zadané řádkem a sloupcem (obvykle na
souřadnicích 0, 0, ale není to podmínkou). Šířka a výška prvku jsou
zadány volbami šířka a výška.
Je pravděpodobné, že poté co jsou prvky připraveny, na obrazovce stále
zůstává nevyužité místo. O zbylý vertikální prostor se podělí prvky,
jež mají volbu RowExpand nastavenou na
hodnotu true. Obdobně se o volné horizontální místo
podělí prvky s nastavenou proměnnou ColExpand.
V případě, že na obrazovce není dostatek místa, zmenší se všechny
sloupce a řádky, jejichž každý prvek má
pravdivé hodnoty u proměnných
RowShrink
resp.
ColShrink.
Pokud to nestačí, budou zmenšeny všechny řádky a sloupce tak, aby se
celá tabulka vešla do dostupného místa.
Pokud prvek samotný není roztažen, ale jeho řádek nebo sloupec
roztažen je, pak můžete určit, kam se má prvek zarovnat v rámci řádku
nebo sloupce. To je určeno volbami RowAlign a ColAlign, které mohou
nabývat hodnot Left (vlevo),
Right (vpravo), Top (nahoře),
Bottom (dole) nebo Center
(uprostřed).
Například následující konfigurační skupina vytvoří statický prvek
nazvaný „Hlavicka“, který je široký
tři buňky a bude se rozpínat horizontálně, ale ne vertikálně. Má
stejnou barvu jako ostatní řádky hlavičky a používá standardní formát
hlaviček:
Hlavicka Static {
Row 0;
Column 0;
Width 3;
Height 1;
ColExpand true;
ColAlign Center;
RowAlign Center;
Color ScreenHeaderColor;
ColumnsCfg HEADER;
};Pro prvky uživatelského rozhraní můžete použít následující volby:
ColAlign
zarovnání;
zarovnání musí být jedno z
Left, Right nebo
Center. Pokud je řádek obsahující aktuální prvek
uživatelského rozhraní širší než samotný prvek a
ColExpand
má hodnotu false, bude prvek umístěn do řádku právě
podle hodnoty zarovnání.
Pokud volbu vynecháte, použije se výchozí hodnota
Left.
ColExpand
true|false;
Pokud má volba hodnotu true, pak sloupec obsahující
tento prvek získá část neobsazeného horizontálního místa.
Pokud volbu vynecháte, použije se výchozí hodnota
false.
Color
barva;
Tato volba se vztahuje na Statické prvky.
barva je název barvy (např. ScreenStatusColor),
která se „implicitně“ použije pro tento prvek
uživatelského rozhraní.
Pokud volbu vynecháte, použije se výchozí hodnota DefaultWidgetBackground.
ColShrink
true|false;
Mají-li tuto volbu nastaveny všechny prvky ve sloupci na hodnotu
true a nastane nedostatek horizontálního místa,
sloupec se zmenší tak, aby se vešel do dostupného místa. Poznamenejme,
že ke zmenšení sloupce může dojít, i když má
ColShrink hodnotu false. To
nastane tehdy, kdy už není jiná možnost.
Pokud volbu vynecháte, použije se výchozí hodnota
false.
Column
sloupec;
Zadá nejlevější sloupec, který obsahuje
tento prvek uživatelského rozhraní.
Columns
formát;
Tato volba se vztahuje na Statické prvky, které
nepoužívají volbu ColumnsCfg. Popis
formátovacího řetězce naleznete v „Přizpůsobení zobrazení balíků“.
ColumnsCfg
HEADER|STATUS|název;
Tato volba se vztahuje na Statické prvky. Nastaví formát
aktuálního prvku na hodnotu jiné konfigurační proměnné. Podle hodnoty
HEADER nebo STATUS se převezmou
nastavení z Aptitude::UI::Package-Header-Format
nebo Aptitude::UI::Package-Status-Format.
Jinak se nastavení převezme z volby nazvané
název.
Pokud volbu vynecháte, použije se výchozí hodnota z volby
Columns.
Height
výška;
Zadá výšku prvku.
PopUpDownKey
příkaz;
Tato volba se vztahuje na prvky typu Description
a Static.
příkaz je název klávesového příkazu
(např. ShowHideDescription).
Opakovaným stiskem klávesy se prvek zobrazí/skryje.
PopUpDownLinked
prvek;
Tato volba se vztahuje na prvky typu Description
a Static.
prvek je název prvku uživatelského
rozhraní. Když je prvek zobrazen, je
zobrazen i aktuální prvek. Analogicky, je-li
prvek skryt, je skryt i aktuální prvek.
Row
řádek;
Zadá nejhornější řádek, který obsahuje
tento prvek uživatelského rozhraní.
RowAlign
zarovnání;
zarovnání musí být jedno
z Top, Bottom nebo
Center. Pokud je řádek obsahující aktuální prvek
uživatelského rozhraní vyšší než samotný prvek a RowExpand má hodnotu
false, bude prvek umístěn do řádku právě podle
hodnoty zarovnání.
Pokud volbu vynecháte, použije se výchozí hodnota Top.
RowExpand
true|false;
Pokud má volba hodnotu true, pak řádek obsahující
tento prvek získá část neobsazeného vertikálního místa.
Pokud volbu vynecháte, použije se výchozí hodnota
false.
RowShrink
true|false;
Mají-li tuto volbu nastaveny všechny prvky v řádku na hodnotu
true a nastane nedostatek vertikálního místa, řádek
se zmenší tak, aby se vešel do dostupného místa. Poznamenejme, že ke
zmenšení řádku může dojít, i když má RowShrink
hodnotu false. To nastane tehdy, kdy už není jiná
možnost.
Pokud volbu vynecháte, implicitně se použije false.
Visible
true|false;
Pokud má hodnotu false, bude tento prvek
skryt. Pravděpodobně užitečné jen ve spojení s PopUpDownKey a/nebo
PopUpDownLinked.
Pokud volbu vynecháte, implicitně se použije true.
Width
šířka;
Zadá šířku prvku.