Přizpůsobení rozložení obrazovky

Prvky na obrazovce
Umístění prvků na obrazovce
Možnosti umístění prvků na obrazovce

V aptitude je možné přeskládat prvky na obrazovce pomocí úprav konfiguračního souboru.

Prvky na obrazovce

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ů:

Description

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.

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.

Umístění prvků na obrazovce

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;
};

Možnosti umístění prvků na obrazovce

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.