Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Software
Mac OS X pod kapotou - resources
MacOSX_class
8. října 2001, 00.00 | Pokud se vyznáte v Mac OS, určitě jste někdy používali ResEdit pro úpravy v aplikacích nebo v systému. V Mac OS X je všechno opět jinak, a my si ukážeme jak na to.
Když se zkušenějšího uživatele Maca zeptáte, jak se podle něj liší aplikace pro MacOS a pro Widnows, pravděpodobně odpoví, že "na Macovi jsou přece ty resources". Co však resources jsou, na co jsou dobré a jaká je jejich role v novém operačním systému Mac OS X není zase tak úplně zřejmé.Pro tentokrát to zkusíme vzít od konce. Resource je malá databáze, která má své jméno (Resource type) a strukturu. Jednotlivé položky pak mají své unikátní pořadové číslo (Resource ID), které může, ale nemusí začínat 0 a může být i záporné.
Každý soubor v operačním systému MacOS do verze 9.x je tvořen ze dvou částí. Část, určená pro databáze (resources) se nazývá resource fork a část pro data je data fork.
V těchto databázích se ukládají informace, které mají svou pevně danou a neměnnou strukturu. Víceméně celý resource fork je také databáze, která obsahuje jednotlivé resource.
Pravděpodobně každý z uživatelů Maca zná program ResEdit, případně jeho konkurenci, program Resourcerer. A velmi pravděpodobně spiše znáte vizuální interpretaci jednotlivých typů. Takhle například vypadá položka menu, jak ji interpretuje program Resourcerer:
To, že ji můžeme vidět tímto způsobem je způsobeno tím, že program "zná" strukturu resource typu 'MENU'. Pokud by tomu tak nebylo, uvidíme jen skupinu hexadecimálních čísel. Na obrázku dole je zvýrazněn text menu "About Cyclone...".
K čemu jsou resources dobré?
Na "starých" počítačích typu Quadra a podobně, tedy přesněji těch, které mají procesor řady Motorola 680x0 platilo, že aplikace mají jen resource fork a jejich datová část je prázdná. Dokonce i samotný kód aplikace byl v resource forku ve speciálním typu označeném 'CODE'. Na počítačích s procesory PowerPC je již kód aplikace uložen v data forku a v resourcech je vše ostatní. To znamená všechna okna, tlačítka, menu, nápisy a spousta dalších věcí.
Chceme-li například změnit text na tlačítku, není nic jednoduššího, než spustit ResEdit, otevřít aplikaci, najít správné dialogové okno a je to. Potřebujete-li přidat nebo změnit klávesovou zkratku, najdete resource 'MENU' a prostě si ji přidáte.
Nejčastěji se tato technika používá při lokalizaci aplikace do jiného jazyka. Existují speciální aplikace, určené právě k tomuto úkolu. A pokud je aplikace korektně napsaná, je její lokalizace otázka jednoduchého přeložení textů.
Změny v Mac OS X
Ti z vás, kteří již spouštěli ResEdit dříve a mají přístup k Mac OS X se o to jistě pokusili na novém systému také. Pokud to ale dělali bez znalosti některých změn, zažili jistě trpké zklamání. ResEdit totiž nenajde nic a to ani v souboru pojmenovaném s příponou .rsrc. Vývojáři u Apple se totiž rozhodli, že přesunou celý resource fork do datové části. Pokud se tedy vrátíme k úplně prvnímu obrázku, došlo k úplnému oddělení obou částí souboru na soubory dva, které jsou oba datové, ale jeden z nich má příponu .rsrc a obsahuje resources v datové formě. A v čem je výhoda? Doufám, že je to zřejmé. V naší (všech macistů) domluvě se světem Windows. Teď si již klidně můžete zkopírovat aplikaci na disk s Windows 95/98....
Pokud chcete trochu prozkoumat nový operační systém, budete k tomu potřebovat vývojářské nástroje. Můžete je získat dvěma způsoby - buď se zaregistrujte na adrese http://www.apple.com/developer do ADC (Apple Developer Connection) jako "on-line" člen. Je to zdarma a můžete si stáhnout kompletní vývojářské nástroje (asi 180MB) pro Mac OS X. Druhá varianta je, zajít k některému z dealerů Apple a ti by vám je měly vypálit, pravděpodobně za cenu CD. Po instalaci si uděláme pár pomůcek a jdeme na to.
Resources v Mac OS X v praxi
Na disku se vám objevil nový adresář nazvaný "Developer". V něm je vše, co potřebujeme a ještě asi tisíckrát tolik. Spusťte si Terminál a napište:
% sudo -s
a zadejte heslo. Tím jste na 5 minut získali absolutní práva na svém počítači.
Nyní si uděláme dva symbolické linky (takové aliasy) na dva nástroje, které budeme nejvíce používat, abychom nemuseli neustále psát celou cestu.
# ln -s /Developer/Tools/Rez /usr/bin/Rez
# ln -s /Developer/Tools/DeRez /usr/bin/DeRez
#rehash
Poslední příkaz znamená, že se znova vytvoří seznam programů v přednastavených cestách a počítač "bude vědět", že v /usr/bin má dva nové programy.
A teď do práce. Pokusíme se trochu vylepšit vzhled OSX. Jen nezapomeňte, že si hrajete s Pandořinou skříňkou a můžete si systém zcela zničit!
# DeRez -useDF /System/Library/Frameworks/Carbon.framework/ Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/Extras.rsrc > ~/temp/Extras.r
Také milujete příkazovou řádku? Příkaz znamená:
DeRez - program na konverzi resource forku
-useDF - resources jsou v data forku
pak následuje cesta na soubor
> výstup z programu ulož do
cesta na výstupní soubor (adresář musí existovat)
Nyní máte ve svém domovském adresáři v podsložce temp soubor, veliký asi 17MB, který se jmenuje Extras.r Nyní se v Terminálu vraťte do své domovské složky a pak do podadresáře temp, kde je uložený soubor, který jsme právě vytvořili. Teď můžete napsat:
# Rez -a Extras.r -o Extras
Tím jsme ze souboru Extras.r vytvořili "standardní" resource file, který lze editovat ResEditem. Pokud ho otevřete, uvidíte několik neznámých typů a dva známé - 'clut' a 'ppat'. Typ 'clut' jsou barevné paletky a 'ppat' jsou systémové vzory. Zde je to známé pruhování všech oken. Pokud uděláte nějakou změnu, uložte soubor (možná budete muset předtím změnit pomocí příkazu chown majitele). Cesta zpátky je poměrně jednoduchá:
# DeRez Extras > Extras.r
# Rez -useDF Extras.r -o /System/Library/Frameworks/Carbon.framework/ Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/Extras.rsrc
Nyní se stačí odhlásit a znovu přihlásit a uvidíte změny, které jste udělali. Největší problém v OSX je, že struktura systémového adresáře je úplně jiná než v předchozích systémech. Ty nejzákladnější systémové části a jejich resources jsou v HIToolbox.framework. Pokud jste používali mou lokalizaci předchozích verzí OS X, tak víte, že klávesnice jsou uloženy v Localized.rsrc. Je tam toho ještě mnohem více. Pokud tedy chcete v úpravách systému pokračovat, je to skvělé místo, kde začít.
Pokud jste dočetli až sem, mám pro vás odměnu - aplikaci pro Mac OS X, která se vám bude určitě hodit. Jmenuje se NameDayLite a na najdete ji na http://homepage.mac.com/robertcerny
Obsah seriálu (více o seriálu):
- Mac OS X - příjezd na čas
- Mac OS X - Instalace
- Mac OS X prakticky 1.
- Mac OS X - podpora českého prostředí
- Mac OS X - tak trochu utajený update
- Mac OS X prakticky 2.
- Mac OS nebo X?
- Mac OS X pro všechny - nyní i v Čechách
- Hledá se majitel souboru!
- Mac OS X - domovská složka a plocha
- Mac OS X - pohled do základů
- Mac OS X - uživatelské rozhraní zblízka, 1. část
- Mac OS X - uživatelské prostředí zblízka, 2. část
- Mac OS X - uživatelské prostředí zblízka, 3. část
- Mac OS X: uživatelské prostředí zblízka 4
- Novinky v Mac OS X 10.1, 1. část
- Novinky v Mac OS X 10.1, 2. část
- Mac OS X v síti...
- Novinky v Mac OS X, 3. část -jak se tiskne...
- Mac OS X pod kapotou - resources
- NetInfo - síťové centrum Mac OS X
- Uložení dat v NetInfu, aneb stromy ve stromech
- K vašim službám...
- ColorSync 4 - krok k Microsoftu?
- NetInfoManager, aneb přímá cesta do databáze
- K vašim službám 2: co nabízí Apple
- Mac OS X Server 10.1 - instalace, 1. část
- Některé standardní klíče a adresáře v NetInfu
- Další standardní klíče a adresáře v NetInfu
- K vašim službám 3: co nabízejí ostatní
- MacOS X Server 10.1 - instalace, druhá část.
- K vašim službám 4: vyhrazeno pro programátory
- Mac OS X a čeština
- K vašim službám 5: stále vyhrazeno pro programátory
- Tisk do souboru v OS X
- Growl - hračka nejen pro vývojáře
- PathFinder 4 - Když Finder nestačí
- RSS sem, RSS tam, co já s nimi udělám?
- Aplikace pro snadné používání služby Twitter
- Popis grafického rozhraní Mac OS X.