Ulepszanie blatu (cz. 9.) ------------------------- IKONKI INACZEJ Zgodnie z zapowiedziâ sprzed dwóch miesiëcy, tym razem miaîo byê o "upiëkszaniu blatu", czyli o ikonkach. Za namowâ moich redakcyjnych kolegów zrezygnowaîem jednak z prezentacji ikonek konkurencyjnych wobec commodore'owskich, w zamian jednak postanowiîem przedstawiê kilka interesujâcych programów, których zadaniem jest wykonywanie róûnych operacji na ikonkach. Jarosîaw Horodecki Jest bardzo duûo programów tego typu, speîniajâ one takûe wiele róûnych funkcji. Postaram sië omówiê kilku najbardziej typowych przedstawicieli róûnych kategorii tej grupy programów. Zacznë od tych, które moûna potraktowaê jako alternatywë wobec standardowej funkcji Workbencha, jakâ jest opcja INFORMATION z menu ICONS. Programy te, oczywiôcie, nie stanowiâ po prostu substytutów tejûe workbenchowej opcji, ale sâ jej znacznym rozszerzeniem, dziëki czemu wykonywanie podstawowych operacji na pojedynczych ikonkach, lub teû caîych ich zbiorach, staje sië dziecinnie proste. Pierwszy z programików, dziaîajâcy jedynie z poziomu CLI/Shella, nie naleûy jednak do tych najîatwiejszych w obsîudze, a jego moûliwoôci sâ spore. Przede wszystkim DoIcon potrafi wyôwietlaê wiele róûnych informacji dotyczâcych ikonek, jak choêby ich pozycja na ekranie, rozmiary czy liczba kolorów. Moûna takûe dowolnie zmieniaê powyûsze parametry. DoIcon daje takûe moûliwoôê zmiany dowolnych parametrów ikony, jak choêby default tool czy tooltype'y. Moûna teû manipulowaê samymi wizerunkami ikon, zmieniajâc uûyte kolory oraz ich liczbë. Jednakûe, aby efektywnie wykorzystaê wyûej wymienione moûliwoôci, naleûy sië wczeôniej zapoznaê z wieloma parametrami, jakich uûycie DoIcon umoûliwia. Najwaûniejszâ rzeczâ jest oczywiôcie podanie nazwy plików, na jakich program ma operowaê. Jest to jednoczeônie pierwszy i konieczny parametr. Oto prosty przykîad: DoIcon sys:tools/iconedit Komenda ta poda po prostu kilka podstawowych informacji o wskazanej ikonce. Warto zwróciê uwagë, ûe rozszerzenie .info zostanie dodane przez program automatycznie. Moûliwe jest jednak jenoczesne zaznaczanie wielu plików, korzystajâc zarówno z amigowych jokerów, tzn. znaków "#" oraz "?", jak i podajâc jednoczeônie nawet kilka nazw plików. Zakceptowana wiëc bëdzie takûe taka komenda, która wyôwieli informacje o wszystkich podanych ikonkach: DoIcon sys:tools/#? sys:utilities/#? dh1:bbs/node0 Gdy wspominamy o podawaniu nazw ikonek, warto wspomnieê jeszcze o opcji DEEP lub ALL. Jej uûycie powoduje, ûe gdy korzystamy ze znaków #?, przeanalizowane bëdâ takûe wszystkie podkatalogi w poszukiwaniu jakichkolwiek ikonek. Oto bardzo prosty przykîad: DoIcon sys:#? deep Jak îatwo zauwaûyê, komenda ta spowoduje wyôwietlenie informacji o absolutnie wszystkich ikonkach, zapisanych na partycji systemowej. Tego rodzaju zastosowanie nie jest moûe zbyt ambitne, jednakûe w zestawieniu z omawianymi dalej opcjami, parametr DEEP okaûe sië szalenie przydatny. Nastëpny parametr nazwany zostaî TYPE, a zastâpiê go moûna skrótem, korzystajâc z samej tylko litery T. DoIcon wyôwietla w takim wypadku informacjë, dotyczâcâ rodzaju podanej jako parametr ikonki, na przykîad poniûsza komenda spowoduje wyôwietlenie informacji "Icontype: TOOL": DoIcon sys:tools/iconedit TYPE Kolejna opcja, czyli NEWTYPE (skrót: NEWT), umoûliwia prostâ i szybkâ zmianë rodzaju wskazanej ikony. Skîadnia tego rozkazu jest bardzo prosta. Wystarczy po podanej nazwie ikonki (lub kilku ikonek) skorzystaê z parametru NEWTYPE=nowy_typ. Oczywiôcie wyraûenie po prawej stronie znaku równoôci oznacza nowy typ ikonki, wybrany spoôród nastëpujâcych ich rodzajów: disk, drawer, tool, project, trashcan, device, kick oraz appicon. Opcja POSITION, w wersji skróconej po prostu XY, podaje jedynie wzglëdnâ pozycjë ikonki wobec okna, w którym sië znajduje, a takûe jej rozmiary. Jeûeli jest to ikonka katalogu bâdú dysku, wyôwietlane sâ dodatkowo informacje dotyczâce pozycji oraz rozmiarów okna, jakiemu przyporzâdkowana jest analizowana ikonka. Dwie nastëpne opcje, czyli NEWX oraz NEWY, sâ w pewnym stopniu powiâzane z poprzedniâ. Umoûliwiajâ one po prostu zmianë pozycji ekranowej wskazanej ikonki. NEWX to oczywiôcie pozycja jej lewego brzegu, NEWY natomiast -- górnego. Aby przyporzâdkowaê ikonce nowâ pozycjë, naleûy wpisaê: NEWX=poz_x lub NEWY=poz_y albo oba te parametry równoczeônie. Lewa strona znaku równoôci to oczywiôcie wartoôci liczbowe, okreôlajâce wzglëdnâ pozycjë danej ikony w okienku. Kolejne opcje dotyczâce pozycji ikonek to FREEX oraz FREEY. Ich dziaîanie jest analogiczne do workbenchowej funkcji UNSPAPSHOT, z tâ jednak róûnicâ, ûe w wypadku DoIcon moûliwe jest uwalnianie osobno pozycji X oraz Y. Warto jednak zaznaczyê, ûe Workbench ma, niestety, pewien drobny bîâd. Wszystko jest w najlepszym porzâdku, gdy uwalniamy tylko pozycjë Y, natomiast gdy chcemy uwolniê pozycjë X, pozostawiajâc Y w tym samym miejscu, sytuacja nieco sië komplikuje, bo Workbench "domyôla sië", ûe uwolniona pozycja X oznacza, iû takûe Y moûe byê ustawiony w dowolny sposób. Jak widaê, takûe amigowy system nie jest doskonaîy. Równieû dwie nastëpne opcje sîuûâ do zmiany parametrów, dotyczâcych pozycji obiektów na ekranie. Tym razem chodzi jednak nie o same ikonki, ale o okienka, które sâ im podporzâdkowane. Opcje te majâ zastosowanie jedynie w wypadku ikonek, symbolizujâcych katalogi oraz dyski, czyli tych, którym przyporzâdkowane sâ wspóîrzëdne okienek. Opcje NEWDX oraz NEWDY w poîâczeniu ze znakiem równoôci oraz odpowiednim parametrem liczbowym umoûliwiajâ wiëc dokonanie dowolnej zmiany w ustawieniu okienka, które zostaje otwarte po klikniëciu nad danâ ikonkâ. Okienka oprócz pozycji ekranowej majâ oczywiôcie takûe swoje rozmiary. Równieû one mogâ byê dowolnie zmieniane. Sîuûâ do tego takûe dwie opcje, NEWDWIDTH oraz NEWDHEIGHT. Ich dziaîanie jest analogiczne do dwóch omówionych juû opcji dotyczâcych okienek. Warto jeszcze zwróciê uwagë na to, ûe jeûeli zmieniane sâ parametry juû otwartego okienka, to zmiany te nie zostanâ automatycznie naniesione na ekran. Wczeôniej trzeba kliknâê na ikonkë tego okna. Dopiero wtedy zmiany zostanâ uwidocznione na ekranie. Dalsze omawiane opcje to juû zmiana lub teû tylko wyôwietlanie konkretnych parametrów róûnego typu ikonek. Zacznijmy od opcji STACKSIZE (skrót: SS). Dotyczy ona oczywiôcie tylko ikonek, symbolizujâcych programy oraz projekty, a wyôwietla parametr okreôlajâcy rozmiar stosu, jaki ma byê stworzony dla potrzeb danego programu. Za pomocâ parametru NEWSTACKSIZE (NEWSS) moûna takûe dowolnie zmieniaê rozmiar stosu, przyporzâdkowany wskazanym ikonkom. Wystarczy wpisaê po nazwach ikonek parametr NEWSTACKSIZE=16384, aby wszystkim wskazanym programom i projektom przyporzâdkowaê stos o wielkoôci 16 KB. Nastëpny parametr, dotyczâcy z kolei juû tylko ikonek projektów, to tzw. default tool, czyli program, który ma byê uruchomiony po klikniëciu nad danâ ikonkâ, symbolizujâcâ plik z jakiegoô typu danymi. Aby wyôwietliê nazwë tego programu, naleûy posîuûyê sië opcjâ DEFAULTTOOL lub jej skrótem, czyli DT. Moûna takûe dokonaê zmiany wpisanego w ikonce programu. Doskonaîym przykîadem sâ tu dokumentacje do programów, w których ikonkach zwykle wpisywane sâ przeróûne programy wyôwietlajâce. W wypadku systemu 3.0 wystarczy wszak skorzystanie z programu Multiview, który radzi sobie ze wszystkimi rodzajami plików. Posîugujemy sië wiëc komendâ: DoIcon sys:Utils/sleeper.doc NEWDT=multiview Od tej chwili, dziëki opcji NEWDAFULTTOOL (NEWDT w skrócie), dokumentacja do programu Sleeper wyôwietlana bëdzie za pomocâ programu Multiview. Oczywiôcie z poziomu Workbencha moûna tej operacji dokonaê moûe nawet szybciej. Warto jednak pomyôleê o zmienianiu nazw programu w wiëkszej liczbie ikonek. DoIcon robi to o wiele sprawniej. W zupeînie innym ôwietle wyûej wymienione opcje stawiane sâ zwîaszcza w zestawieniu z moûliwoôciâ przeszukiwania ikonek i zmiany programu jedynie w wypadku znalezienia innych programów. Sîuûy do tego opcja SEARCHDEFAULTTOOL (SEARCHDT). Opcja ta dziaîa oczywiôcie jedynie w zestawieniu z NEWDT. Przykîadowo, aby na dysku DH1: zmieniê w ikonkach róûnych dokumentów standardowo przypisane im programy na Multiview, wystarczy podaê nastëpujâcâ komendë: DoIcon dh1:#? searchdt=#?more newdt=multiview deep Nie spowoduje to oczywiôcie zamiany we wszystkich dokumentach, jednak wiëkszoôê uûywanych do wyôwietlanych programów ma w swojej nazwie "more", tak wiëc pokaúna czëôê dokumentów powinna byê poprawiona. Przed nami kolejna zmiana tematu, a wiëc opcje dotyczâce wyglâdu samych ikonek. Na poczâtek opcja DEPTH (skrót: D). Wyôwietla ona po prostu liczbë bitplane'ów, z jakich korzysta ikonka. Standardowo moûe to byê 1, 2, 3, 4 lub 8 bitplane'ów, co odpowiada kolejno 2, 4, 8, 16 oraz 256 kolorom. Za pomocâ opcji STRIPDEPTH (STRIPD) moûna natomiast dowolnie zmniejszaê liczbë kolorów, z jakiej korzysta ikonka. Korzystajâc wiëc na przykîad z komendy: DoIcon sys:tools/iconedit stripd=2 moûna zmniejszyê liczbë kolorów, z jakich ona korzysta, do czterech. Zaîoûeniem takiego wykorzystania tej komendy jest oczywiôcie to, ûe wskazana ikonka zapisana jest przed wykonaniem tejûe operacji w oômiu lub wiëkszej liczbie kolorów. W pewnym stopniu moûliwe jest takûe wykonanie operacji odwrotnej, czyli zwiëkszenia liczby kolorów wykorzystywanych przez ikonkë. Wskazane jest to szczególnie w wypadku niektórych ikonek oômiokolorowych, wyôwietlanych na ekranie Workbencha, pracujâcym w wiëkszej liczbie kolorów. Czësto zdarza sië, ûe ikonki takie nie sâ wyôwietlane poprawnie. Wystarczy jednak dokonaê ich konwersji na osiem bitplane'ów (256 kolorów), aby wszystko byîo w porzâdku. Sîuûy do tego opcja DEPTHTO8. Kolejne dwie opcje odpowiedzialne sâ natomiast za odpowiedni dobór kolorów. Pierwsza z nich, czyli REMAP, powoduje zamianë kolorów numer 1 oraz 2. Zmiana taka potrzebna jest w wypadku konwersji starych ikonek Workbencha 1.3, korzystajâcych z kolorów: pomaraïczowego, biaîego, czarnego, niebieskiego. Jak wiadomo, Workbench 2.0 oraz nowsze wersje systemu korzystajâ ze standardowych kolorów: szary/czarny/biaîy/niebieski. Stare ikonki nie wyglâdajâ wtedy najlepiej. Wystarczy jednak skorzystaê z opcji REMAP. Druga opcja natomiast, nazwana REMAPMWB, ma nieco inne zastosowanie. Przeznaczona jest dla wszystkich korzystajâcych z Workbencha czterokolorowego oraz niezadowolonych z wyglâdu oômiokolorowych ikonek standardu MagicWB. Opcja ta, dziaîajâca w jednym z dwóch trybów, dokonuje takich zmian kolorów ikonek MagicWB, aby wyglâdaîy one nie najgorzej takûe na czterokolorowych ekranach. Warto poeksperymetowaê z pierwszym oraz drugim trybem dokonywania tej zmiany, gdyû doprowadziê to moûe do uzyskania róûnych rezultatów w wypadku róûnych ikonek. Dwie nastëpne opcje znowu dotyczâ jednego parametru ikonki. Tym razem chodzi tu o sposób podôwietlania. Opcja HIGHLIGHT (lub skrót HL) wyôwietla wiëc po prostu nazwë sposobu, jaki zostaî przyporzâdkowany wskazanej ikonce. Moûe to byê IMAGE, COMPLEMENT lub teû BACKFILL. Sposób ten moûe byê oczywiôcie w dowolny sposób zmieniany, z kolei za pomocâ opcji NEWHIGHLIGHT (NEWHL). Oczywiôcie, gdy korzystamy z tej opcji, naleûy podaê po znaku równoôci, który z trzech wczeôniej wymienionych typów podôwietlania ma zostaê wskazanym ikonkom przyporzâdkowany. Zostaî jeszcze zestaw opcji dotyczâcych tooltype'ów, czyli parametrów przekazywanych poprzez ikonkë zwiâzanym z niâ programom. Najprostsza z opcji, TOOLTYPES (TT w skrócie), powoduje po prostu wyôwietlenie wszystkich tooltype'ów, jakie zostaîy wpisane w ikonkë. Moûna oczywiôcie takûe zmieniaê dowolne wskazane tooltype'y. Sîuûy do tego opcja CHANGETOOLTYPE lub po prostu CTT. Oto prosty przykîad: DoIcon sys:wbstartup/Sleeper ctt="DEVICE=gvpscsi" num=2 Powyûsza komenda spowoduje wpisanie, na drugiej pozycji tooltype'ów wskazanej ikonki, ujëtego w cudzysîów îaïcucha znaków. Cudzysîowu naleûy uûyê, gdy we wpisywanym w ikonkë îaïcuchu znaków znajdujâ sië przerwy bâdú znak równoôci. Oprócz zamieniania tooltype'ów moûna je takûe po prostu dodawaê, do czego z kolei sîuûy opcja ADDTOOLTYPE (ATT). Przykîad nie jest tu chyba potrzebny, jako ûe jej skîadnia jest wîaôciwie identyczna ze skîadniâ opcji CTT, z tym ûe oczywiôcie nie podajemy numeru linijki, w którâ ma byê wpisany wskazany îaïcuch znaków. Jak wiadomo, poszczególne wpisane w ikonkë tooltype'y mogâ byê wyîâczane bâdú wîâczane poprzez branie ich w nawias okrâgîy lub kasowanie tego nawiasu. Funkcja ta realizowana jest przez opcjë TOGGLETOOLTYPE (TTT). Przykîad powinien wystarczyê za wyjaônienie dziaîania tej opcji: DoIcon sys:wbstartup/Sleeper TTT=3 Oczywiôcie w tym wypadku wîâczamy lub wyîâczamy opcjë, znajdujâcâ sië na trzeciej pozycji w liôcie tooltype'ów ikonki o nazwie sleeper.info. Moûliwe jest takûe kasowanie tooltype'ów, do czego sîuûy opcja DELETETOOLTYPE (DELTT). Korzysta sië z niej tak samo, jak w wypadku opcji TTT. Wystarczy podaê numer linijki, jaka ma byê skasowana. W wypadku kasowania wiëszej liczby linijek warto pamiëtaê, ûe po skasowaniu pierwszej z nich wszystkie pozostaîe linijki przesuwajâ sië o jednâ w górë. Îatwo sië wtedy pomyliê. Do skasowania caîej listy tooltype'ów z ikonki moûna sië natomiast posîuûyê opcjâ CLEARTOOLTYPES (CLEARTT). Warto jednak przedtem dokîadnie sprawdziê, co kasujemy. Bardzo uûytecznâ funkcjâ, równieû dotyczâcâ tooltype'ów, jest natomiast SEARCHTOOLTYPES (SEARCHIT). Pod wzglëdem sposobu dziaîania opcja ta jest bardzo podobna do omówionej juû SEARCHDEFAULTTOOL, sîuûy jednak do wyszukiwania wskazanych tooltype'ów, a we wspóîpracy z róûnymi opcjami pozwala na seryjne wykonywanie ciekawych funkcji. Warto chyba przedstawiê kilka przykîadów, tym razem zaczerpniëtych bezpoôrednio z dokumentacji programu: DoIcon sys:#? searchtt=(#?) deltt=1 deep Komenda powyûsza spowoduje wyszukanie oraz skasowanie wyîâczonych tooltype'ów (czyli wziëtych w nawias okrâgîy) z caîej partycji systemowej. Warto zwróciê uwagë, ûe korzystamy z opcji DELTT=1, czyli tak, jakbyômy kasowali pierwszâ linijkë z danych zapisanych w ikonie. Oto drugi przykîad: DoIcon sys:wbstartup/3? searchtt=cx_popup#? ctt="cx_popup=no" Tym razem skorzystaliômy z opcji, zamieniajâcej zawartoôê danego pola na nowâ. Konkretnie w katalogu WbStartup partycji systemowej podmieniamy we wszystkich okienkach linijki, zawierajâce îaïcuch znaków "CX_POPUP" na linijkë "CX_POPUP=NO". Nietrudno zauwaûyê, ûe w wypadku operowania na wiëkszej liczbie ikonek korzystanie z programu DoIcon powoduje znaczne usprawnienie wykonywania nawet najprostszych operacji. Ostatniâ z opcji dotyczâcych tooltype'ów jest CHECKTOOLTYPEVALUE, czyli po prostu CTTV. Umoûliwia ona sprawdzenie argumentu wskazanych tooltype'ów wpisnaych do danych ikonek. Ostatnie cztery opcje programu moûna zaliczyê do popularnej kategorii drobnych, acz przydatnych, dodatków. Po pierwsze wiëc, za pomocâ opcji WBINFO, mamy moûliwoôê wywoîania standardowej workbenchowej funkcji INFORMATION. Nie bardzo rozumiem, do czego taka opcja jest potrzebna, moûe ktoô jednak znajdzie jakieô zastosowanie. Druga opcja, czyli IMAGETOSOURCE, bëdzie przydatna szczególnie programistom piszâcym swoje programy w jëzyku C. Opcja ta, na podstawie danych zawartych w ikonce, generuje kod úródîowy w tym jëzyku, dokîadnie opisujâcy jej wizerunek oraz wszelkie inne parametry. Przedostatnia opcja, czyli DELETE, to po prostu substytut komendy AmigaDOS-u. Jedyna róûnica polega na tym, ûe kasowane w ten sposób ikonki automatycznie usuwane sâ z ekranu Workbencha. Moûna tu podaê doôê ciekawy przykîad: DoIcon sys:#? delete deep Jeûeli ktoô nie wie, jaki bëdzie efekt uûycia tej komendy, niech raczej tego nie sprawdza, ale przeczyta uwaûnie poczâtek tego tekstu. I w koïcu ostatnia opcja, KILLOLDINFO, powoduje skasowanie wszystkich plików .info, które wykorzystywane byîy w systemie 1.3. System 2.0/3.0 nie korzysta juû z nich, mogâ wiëc byê usuniëte. To juû wszystko w kolejnej, tym razem nieco dîuûszej, czeôci naszego cyklu. Ze wzglëdu na sporâ zîoûonoôê programu DoIcon, pozostaîe programy sîuûâce do manipulacji zawartoôciâ ikonek przedstawië w nastëpnej czëôci "Ulepszania blatu". Proponujë natomiast po dokîadnym zapoznaniu sië z DoIcon pomyôleê nad jego zastosowaniem, choêby z wykorzystaniem takich programów, jak DiskMaster, MTool czy DirectoryOpus.