Soubory plochy: vložení aplikace do hlavní nabídky prostředí
Aplikace v GNOME uživatelé klepnou na ikonu na pracovní ploše nebo zvolí požadovanou aplikaci z hlavní nabídky. Proto je prvním krokem integrace existujícího programu s GNOME jeho registrace v sadě aplikací, které uživatelé mohou spustit.
Na rozdíl od Windows nebo MacOS jsou v GNOME nabídky sestavovány automaticky ze seznamu registrovaných aplikací. Každá takto publikovaná aplikace uvádí sadu kategorií, do kterých patří, a při sestavování nabídky jej systém zatřídí a umístí. Mechanismus pracuje dle standardu freedesktop.org pro položky plochy a nabídky.
Vzhledem ke zvyku ostatních prostředí se nedoporučuje vytvářet pro aplikaci vlastní podnabídku. Namísto toho vytvořte pro každou dodávanou aplikaci jednu položku. Další věci jako nápověda, soubory README nebo odkazy na WWW stránky by měly být dostupné ze samotné aplikace.
V GNOME a jiných prostředích vycházejících ze standardů freedesktop.org jsou aplikace registrovány do hlavní nabídky pomocí položky plochy, což je textový soubor s příponou .desktop. Tento soubor plochy obsahuje potřebnou konfiguraci pro integraci aplikace. Pracovní prostředí přebírá informace z tohoto souboru a používá je k:
- put the application in the Desktop Menu Specification. . To find a list of valid categories, take a look into FreeDesktop.org's
- uvedení aplikace v seznamu okna Spustit aplikaci...
- vytvoření příslušných spouštěčů v nabídce a na pracovní ploše
- asociování jména a popisu aplikace
- použití příslušné ikony.
- rozpoznání typů MIME, které aplikace podporuje, při otevírání souborů.
Pokud chcete přidat záznam v nabídce pro svoji aplikaci, vytvořte soubor plochy. Ten by měl mít unikátní název a vzhledem k tomu, že délka názvu není omezena, vyvarujte se zkratek a klidně použijte název celý. V žádném případě však do názvu nevkládejte mezery nebo znaky specifické pro jiný jazyk. Název "foocorp-painter-pro.desktop" je dobrý na rozdíl od "fcpp.desktop" nebo "FooCorp Painter Pro.desktop". Soubor by měl být v kódování UTF-8 a měl by být založen na následujícím vzoru:
[Desktop Entry] Name=FooCorp Painter Pro Exec=foocorp-painter-pro Icon=foocorp-painter-pro Type=Application Categories=GTK;GNOME;Utility;
Soubory plochy obsahují metadata o aplikaci a hrají hlavní roli v integraci programu v GNOME a obdobných pracovních prostředích, které pracují dle stejného standardu. Zde uvedený vzor je tím úplně základním. Soubor může být lokalizován, takže uživateli se názvy aplikací zobrazují v jeho rodném jazyce.
Tento soubor umístěte do adresáře /usr/share/applications, kde bude dostupný pro každého uživatele, nebo do adresáře ~/.local/share/applications, pokud si přejete, aby aplikace byla dostupná jen konkrétnímu uživateli. Umístění bude použito v závislosti na tom, zda je aplikace nainstalována v systému nebo v domácím adresáři uživatele. GNOME sleduje tato umístění, takže prosté nakopírování souboru plochy do jednoho z nich stačí k registraci v pracovním prostředí. 1
Každý funkční soubor plochy musí používat tento formát. Příklad takového souboru ukazuje Příklad 1-1. Soubor je rozdělen na části, každá začíná popisem sekce v hranatých závorkách. Ve zmiňovaném příkladu je jen jedna část, která je základem integrace aplikace do pracovního prostředí. V každé části je obsah každého řádku před znamínkem rovnosti ('=') klíč a vše za ním pak hodnota klíče. Vysvětlení jednotlivých klíčů popisuje Tabulka 1-1.
Krom prvního řádku, který identifikuje soubor plochy, není pořadí důležité. Řádek Type=Application, který obsahuje Příklad 1-1, může být na druhém, pátém nebo posledním řádku a výsledek bude stejný.
Každopádně názvy klíčů rozlišují malá a velký písmena a proto Type=Application není to samé jako type=Application nebo TYPE=Application.
[Desktop Entry] Type=Application Encoding=UTF-8 Name=Sample Application Name Comment=A sample application Exec=application Icon=aplikace.png Terminal=false
Řádek | Popis |
---|---|
[Desktop Entry] | První řádek každého souboru plochy a hlavička každé části, sloužící k identifikaci bloku asociovaných klíčů s hodnotami a pracovního prostředí. Nezbytné pro prostředí ke správnému rozpoznání souboru. |
Type=Application | Říká pracovnímu prostředí, že soubor náleží aplikaci. Další platné hodnoty tohoto klíče jsou Link a Directory. |
Encoding=UTF-8 | Uvádí kódování znaků v souboru plochy. |
Name=Sample Application Name | Název vaší aplikace, který bude použit v nabídce a pro spouštěč. |
Comment=A sample application | Popisuje aplikaci, používá se jako bublinová nápověda. |
Exec=application | Příkaz, který spustí aplikaci z příkazové řádky. Může obsahovat parametry. |
Icon=aplikace.png | Název ikony asociovaný s aplikací |
Terminal=false | Určuje, jestli se aplikace má spustit v terminálu. |
- 1.1.1. Spuštění aplikace
- 1.1.2. Cizí jazyky
- 1.1.3. Reference
1.1.1. Spuštění aplikace
Pokud vaše aplikace podporuje parametry z příkazového řádku, můžete je uvést v tak, jak ukazuje Tabulka 1-2.
Přidat... | Akceptuje... |
---|---|
%f | jeden název souboru |
%F | více jmen souborů |
%u | jedna adresa URL |
%U | více adres URL |
%d | jeden adresář. Využívá se spolu s %f k určení umístění souboru. |
%D | více adresářů. Využívá se spolu s %F k určení umístění souborů. |
%n | jeden název souboru bez cesty |
%N | více názvů souborů bez cest |
%k | adresa URI nebo cesta k souboru, kde se nachází soubor plochy. |
%v | název zařízení. |
1.1.2. Cizí jazyky
Pokud chcete lokalizovat názvy a popisy, musíte pro každý překlad uvést další řádek. Například, pokud chcete přidat český překlad popisu, přidáte následující řádek:
Comment[cs]=Ukázková aplikace
Neexistuje limit, kolik lze maximálně uvádět překladů v jednom souboru.
Protože je správa dlouhého seznamu překladů v jednom souboru nešikovný, lepším způsobem je vytvořit tyto překlady pomocí balíku nástrojů intltool. Další informace se dozvíte z manuálových stránek popisujících intltool-extract a intltool-merge.
Mějte na paměti, že adresář ~/.local/share/applications je sledován v GNOME od verze 2.10 (v distribuci Fedora od verze 2.8). Dřívější verze GNOME pracovali na dnes již zastaralou technologii vfolder a proto musely být soubory plochy instalovány do ~/.gnome2/vfolders/applications. Toto umístění není podporováno od GNOME 2.10 (v distribuci Fedora od GNOME 2.8) a proto, pro zajištění maximální kompatibility, umístěte soubor do obou adresářů.
Mějte také na paměti, že pracovní prostředí KDE vyžaduje spuštění kbuildsycoca, aby byla nabídka aktualizována.