Tooltypes pro WBStartup
Od OS 2.04 existuje adresář WBStartup, který umožňuje automatické spouštění programů při zavedení systému. Pokud má program umístěný v tomto adresáři ikonu, automaticky se spustí při zavedení systému.
Po čase se vám v tomto adresáři určitě uhnízdí několik programů. A pak někdy může záležet na tom, jak a v jakém pořadí se budou programy spouštět.
I to lze ovlivnit pomocí speciálních Tooltypes, jež fungují pouze v ikonách adresáře WBStartup.
Celkem existují tři speciální Tooltypes pro WBStartup:
- DONOTWAIT - Tento parametr nemá žádné další argumenty. Workbench normálně čeká na ukončení jednoho programu, než spustí další. To se však často nehodí a pak přijde vhod tento parametr, kdy na dokončení programu Workbench nečeká.
- STARTPRI - Pořadí spouštění jednotlivých ikon můžete ovlivnit tímto parametrem, který nastavuje prioritu zavádění programů. Formát parametru je následující:
- STARTPRI=<priorita> - kde <priorita> je celé číslo -128 do +127. Implicitně mají všechny programy adresáře WBStartup stejnou prioritu o hodnotě 0 a pořadí jejich zavedení je v podstatě náhodné. Explicitně nastavenou prioritou můžete ovšem předepsat vlastní pořadí zavádění.
Čím vyšší je hodnota priority, tím dříve se program zavede (bere se ohled i na znaménko priority). Například program s prioritou +10 se zavede před programem o prioritě +5 a ten předběhne program s implicitní prioritou 0. Program s prioritou -5 se ovšem zavede ještě později. Programy se stejnou prioritou se spouštějí vedle sebe v náhodném pořadí.
WAIT - Třetí parametr do značné míry souvisí s předchozím parametrem. Umožňuje určit, jak dlouho má Workbench čekat, než z adresáře WBStartup zavede další program. Formát parametru je následující:
WAIT=<sekundy>
Argument <sekundy> je počet sekund, po který bude Workbench čekat.
Ptáte se, k čemu to všechno je? Význam parametru DONOTWAIT je nesporný, je nezbytný u všech programů, které mají běžet trvale v pozadí (obvykle se jedná o komodity měnící chování systému). Není potřebný pouze u programů, které rychle něco vykonají a ukončí se.
Často je však nutné i přesně určit pořadí zavádění (parametrem STARTPRI). Například pokud spouštíte program měnící určité vlastnosti systému (třeba nahrazující ASL requestery jiným typem requesterů), jistě budete chtít, aby se změna uplatnila i pro ostatní programy spouštěné z adresáře WBStartup. Pak musíte programu měnícímu systém nastavit vyšší prioritu než ostatním programům, protože ty by se mohly spustit ještě vykonáním změny a ta by se na nich
neprojevila.
Konkrétní příklad - utilita ReqChange zaměňuje ASL requestery za requestery knihovny "reqtools.library". Utilitu spouští program StartRC. Mají-li se zaměnit requestery ve všech ostatních programech adresáře WBStartup, musí se StartRC spustit dříve než tyto programy.
Často je také potřeba, aby se jako první zavedly soubory monitorů, protože ty ovlivňují veškeré další možnosti zobrazování (to má význam hlavně u Amig s grafickými kartami).
Parametr WAIT se může hodit u programů, které se déle inicializují, ale přitom by měly být spuštěny před ostatními programy. Nastavíte jim vysokou prioritu a zavádění ostatních programů pozdržíte na dobu potřebnou k inicializaci.
Uvedené Tooltypes zcela bez problémů fungují pod OS 3.1, ale měly by fungovat i na nižších verzích systému (od 2.04 výše).



