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ázev typ { Row řádek; Column sloupec; Width šířka; Height výš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ů:
Tento 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.
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ě.
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, se zmenší všechny sloupce a řádky, jejichž všechny prvky mají pravdivé hodnoty u proměnných RowShrink nebo 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:
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.
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.
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.
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.
Zadá nejlevější sloupec, který obsahuje tento prvek uživatelského rozhraní.
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ů“.
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.
Zadá výšku prvku.
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.
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.
Zadá nejhornější řádek, který obsahuje tento prvek uživatelského rozhraní.
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.
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.
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.
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.
Zadá šířku prvku.