Úprava prostředí desktopu I.

První část článku o úpravě prostředí desktopu se zabývá jednotlivými specifikacemi standardů freedesktop.org, popisem menu, položek menu, specifikací grafických témat ikon a adresářovou strukturou, ve které se jednotlivé desktopové položky nacházejí.

6.6.2012 00:00 | David Adamczyk | přečteno 6545×

Pro různá specifická použití se vyplatí provést úpravy desktopového prostředí vaší distribuce. Tyto úpravy mohou mít smysl v případě, že se snažíte provést jisté změny při nasazení systému na pracovní stanice ve vaší firmě a usnadnit tak práci uživatelům, nebo například upravujete prostředí pro běh v počítačovém kiosku, nebo jiném zařízení od kterého se očekává jistá funkcionalita. Skupina freedesktop.org se snaží o zachování interoperability a zachování jistých standardů mezi jednotlivými desktopovými prostředími jako je například prostředí KDE nebo Gnome provozovanými na operačních systémech GNU/Linux, BSD a dalších pod X Window Systémem. Cílem je vybudovat společnou platformu pro aplikace běžící na těchto operačních systémech. Pomocí jistých návrhů, které by se měly dodržovat v rámci všech distribucí můžete specifikovat například popis aplikace a její ikonu, čímž bude jednotně reprezentována v různých desktopových prostředích v rámci vašeho celého systému. Přiřadit typy souborů jednotlivým aplikacím, zařadit aplikace do jednotlivých kategorií v menu a podobně.

Specifikace zápisu desktopových položek

Zápis desktopových položek je definován specifikací Desktop Entry. Jedná se o popis souborů, které definují informace o aplikacích jako například název aplikace, ikona aplikace a popis samotné aplikace. Tyto informace jsou využívány pro spouštěče aplikací a tvorbu menu, ze kterého mohou být aplikace spouštěny. Tato specifikace se snaží standardizovat jednotný formát použitelný v různých desktopových prostředích, jakými jsou například KDE a Gnome. Díky tomu můžete nalézt KDE aplikace uspořádané v jednotlivých menu v desktopovém prostředí Gnome. Takto může být zajištěna jistá univerzálnost při přenosu aplikací napříč desktopovými prostředími a různými distribucemi. Nainstalujete-li si aplikaci, například webový prohlížeč z balíčku, bude tato aplikace automaticky zavedena do systému a naleznete ji v příslušné kategorii vedle aplikací stejného typu, za předpokladu, že během instalace budou zapsány příslušné informace o aplikaci do stanovených souborů. Ve specifikaci Desktop Entry je popsán formát jednotlivých souborů, kde je uvedeno jak mají být zapsány jednotlivé položky. Možné typy hodnot, jednotlivých položek lokalizace hodnot klíčů a známé klíče Desktop Entry položek včetně Exec kliče doplňkové akce aplikací a specifická rozšíření.

Specifikace nabídky

Definuje jak sestavit hiearchii jednotlivých položek (například aplikací) z čehož bude poté generováno menu. Ve specifikaci naleznete popis jednotlivých souborů a jejich popis umístění , slučování jednotlivých částí a generování samotných menu.

Velmi důležitým je seznam registrovaných kategorií. Tento seznam se skládá z hlavní kategorie a doplňkových kategorií. Hlavní kategorie je definována názvem, popisem a poznámkou všech položek hlavní kategorie. Do této hlavní kategorie lze zařadit například kategorie Audio, Education, Office pro aplikace typu hudební přehrávač, výukové aplikace, nebo kancelářské aplikace kde se mohou nalézat aplikace balíku OpenOffice nebo aplikace Gnumeric, AbiWord a další. Tyto hlavní kategorie mohou být dále členěny. Kancelářské aplikace mohou mít kategorii pro aplikace pracující s elektronickou poštou - emailové klienty, nebo textové procesory a tabulkové kalkulátory. Následuje malá ukázka pro kategorii "Kancelář" kam patří většina kancelářských aplikací jako LibreOffice a podobné. Ve svém domovském adresáři ~/.config/menus/ naleznete několik souborů. Jedním z nich je i soubor s názvem applications.menu zde je jeho obsah:

<!DOCTYPE Menu
  PUBLIC '-//freedesktop//DTD Menu 1.0//EN'
  'http://standards.freedesktop.org/menu-spec/menu-1.0.dtd'>
<Menu>
<Name>Applications</Name>
<MergeFile type="parent">/etc/xdg/menus/applications.menu</MergeFile>
</Menu>

Tento soubor obsahuje jediné menu s názvem Applications. Odkazuje se na rodičovské menu, které je umístěno v souboru s názvem /etc/xdg/menus/applications.menu. Menu v tomto souboru je platné v rámci celého systému narozdíl od souboru s menu, které je uloženo v domovském adresáři uživatele a platí jen pro konkrétního uživatele. Dále následuje ukázka tohoto systémového menu (pro velký rozsah je zde uvedena jen část):
<!-- Office -->
  <Menu>
    <Name>Office</Name>
    <Directory>Office.directory</Directory>
    <Include>
      <And>
        <Category>Office</Category>
      </And>
    </Include>
  </Menu> <!-- End Office -->

V adresáři /usr/share/desktop-directories naleznete jednotlivé položky pro konkrétní kategorie. Soubor pro kategorii kancelářských aplikací s názvem Office.directory vypadá následovně:
[Desktop Entry]
Name=Office
Comment=Office Applications
Icon=applications-office
Type=Directory
X-Ubuntu-Gettext-Domain=gnome-menus-3.0

Dle tagu kategorie, která obsahuje hodnotu Office vidíme, že v tomto menu se budou nacházet všechny položky menu, které mají v příslušném souboru nastavenou položku kategorie na Office. Vypsáním proměnné $XDG_DATA_DIRS získáme cesty k několika systémovým adresářům. Při prozkoumání nazeznete v adresářích soubory pro jednotlivé položky menu. V těchto souborech je vždy uveden název příslušné kategorie:
[Desktop Entry]
Version=1.0
Terminal=false
Icon=libreoffice-calc
Type=Application
Categories=Office;
Exec=libreoffice --calc %U
Každá položka, která má v klíčí Categories hodnotu Office se bude nacházet právě v tomto menu. Před experimentováním s těmito soubory doporučuji projít a důkladně prozkoumat všechny soubory. Během práce s různymi desktopovými prostředími a různymi distribucemi jsem narazil na různé množství souborů, které se mohou v konkrétních příkladech trochu lišit.

Specifikace témat ikon

Následující specifikace popisuje grafická témata ikon. Každé grafické téma ikon je v systému určeno svým názvem, stejně tak jsou pojmenovány i jednotlvé ikony, které jsou umístěny do stanovených adresářů. Grafická témata ikon mohou dědit některé specifické ikony z jiného tématu, nebo mohou jiné téma naopak rozšířit. Hlavním podporovaným formátem pro ikony je bitmapový formát PNG, nebo volitelně vektorový formát SVG. Z důvodu zachování zpětné kompatibility je podporován rovněž formát XPM. Není však doporučováno aby nové grafické témata používaly starý formát XPM. Grafické téma kromě souborů ikon roztříděných do přislušných adresářů obsahuje i speciální soubor s popisem tématu. Jedná se o soubor s názvem index.theme, ten popisuje hlavní vlastnosti tématu. Je to prostý textový soubor, ve kterém jsou data jednotlivých položek přiřazena příslušným klíčům. Mezi tyto klíče patří například Name, což je název tématu. Klíč Comment slouží pro krátký popis tématu, Inherits je název tématu ze kterého bude děděno a Directories je seznam adresářů tématu. Pro každý z adresářů musí být vyčleněna speciální sekce s popisem v souboru index.theme. Tento popis zahrnuje speciální položky jako velikost ikon - očekává se, že každý z adresářů obsahuje ikony stejné velikosti, kontext ikon - ikony mohou být určeny pro akce, zařízení, souborový systém a MIME typy. Dále v této podsekci nalezneme specifikaci minimální a maximální velikosti a typ zobrazování - zda mohou být ikony zvětšovány, nebo zda musí mít nastavenou pevnou velikost a podobně.

Proměnné prostředí

Ve vašem systému existuje několik proměnných, které definují kde systém nalezne příslušné data a konfigurační soubory. Pojďme se na ně podívat blíže. Základní proměnnou je $XDG_DATA_DIRS, ta představuje seznam základních adresářů, které budou prohledávány na příslušné datové soubory. Veškeré adresáře uvedené v tomto seznamu jsou odděleny dvojtečkou. Jestliže je tato proměnná prázdná (není nastavena) bude výchozí hodnotou dvojice adresářů /usr/local/share:/usr/share. Obdobně proměnná, sloužící pro uživatelské nastavení nese název $XDG_DATA_HOME, pokud tato proměnná není nastavena je výchozím adresářem $HOME/.local/share Pro systémové konfigurační soubory slouží proměnná $XDG_CONFIG_DIRS, jestliže není nastavena, je výchozí hodnotou adresář /etc/xdg. Pro uživatelské konfigurační soubory je určena proměnná $XDG_CONFIG_HOME. Její výchozí hodnota je $HOME/.config Proměnná $XDG_CACHE_HOME definuje základní adresář pro ukládání datových souborů. Výchozí hodnotou je $HOME/.cache. Uchování souborů důležitých pro běhové prostředí jako například sockety a pojmenované roury je určena proměnná $XDG_RUNTIME_DIR.

Závěr

V první části článku byl popsán přehled teorie specifikací desktopových položek. Protože je problematika docela rozháhlá je nezbytně nutné využívat také dokumentaci dostupnou na webu freedesktop.org, v následující části budou uvedeny praktické příklady a některé aplikace, které dovedou s výše uvedenými standardy pracovat.

Užitečné odkazy

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=1934