Ulepszanie blatu (cz. 6.) ------------------------- MENUBLASTER I TOOLSDAEMON W poprzedniej czëôci zajmowaliômy sië prostymi programami, dziëki którym moûliwe byîo doîâczanie wîasnych opcji do menu Tools Workbencha. Tym razem zapoznamy sië z programami nieco bardziej zîoûonymi, za pomocâ których moûna stworzyê nawet kilka osobnych menu, dostëpnych z poziomu ekranu Workbencha. Jarosîaw Horodecki Jednym z takich programów jest bardzo krótkie i nieskomplikowane narzëdzie o nazwie >MenuBlaster<. Programik ten, aby umoûliwiê korzystanie z kilku menu z poziomu Workbencha, otwiera na górnej listwie ekranu systemowego wîasne okienko, po którego uaktywnieniu moûna skorzystaê ze zdefiniowanych wczeôniej rozwijanych menu. Dodatkowo, w otwieranym przez program okienku podawanych jest kilka podstawowych informacji o systemie, np. iloôê wolnej pamiëci, iloôê wolnego miejsca na wskazanym urzâdzeniu oraz aktualny czas. Po pierwszym uruchomieniu program wyôwietli komunikat informujâcy o braku przygotowanego pliku konfiguracyjnego (Cant't open config file!). Nie naleûy sië tym przejmowaê. Z programem nie jest dostarczane ûadne standardowe ustawienie definiowalnych menu. Caîâ robotë, zwiâzanâ z przygotowaniem wymaganej konfiguracji, naleûy wiëc wykonaê samodzielnie. Po stworzeniu wîasnego pliku konfiguracyjnego wystarczy skorzystaê z opcji UPDATE i mamy juû zestaw wîasnych menu na ekranie Workbencha. Oczywiôcie przy uruchamianiu programu moûna chcieê skorzystaê z innego pliku konfiguracyjnego niû przyjëty jako standard MB.config w katalogu logicznym S:. Nazwë pliku z konfiguracjâ moûna podaê jako argument przy uruchamianiu programu. Zajmijmy sië teraz przygotowaniem wîasnego pliku konfiguracyjnego. Najlepiej bëdzie posîuûyê sië tutaj prostym przykîadem: DISK DH1: HOTKEY LALT!LSHIFT MENU "Prefs" ITEM "Font" | sys:prefs/font |1 ITEM "Serial" | sys:prefs/serial |2 ITEM "Pointer" | sys:prefs/pointer |3 ITEM "Time" | sys:prefs/time |4 MENU "Tools" ITEM "Calculator" | sys:tools/calculator |q ITEM "KeyShow" | sys:tools/keyshow |w ITEM "Commodities" SUBI "Exchange" | sys:tools/commodities/exchange|e SUBI "Blanker" | sys:tools/commodities/blanker |r SUBI "FKey" | sys:tools/commodities/fkey ENDE Plik ten stworzyîem na bazie programów nagranych na moim twardym dysku, korzystajâc jednak z programów, które znajdujâ sië w standardowym pakiecie Workbencha 3.0. Sâdzë wiëc, ûe z uruchomieniem i korzystaniem z powyûszej konfiguracji nikt nie powinien mieê kîopotów. Proponujë jednak dokîadniej przyjrzeê sië skîadni rozkazów stosowanych w pliku konfiguracyjnym. Pierwsza linijka, zawierajâca sîowo kluczowe DISK, to definicja urzâdzenia, o jakim bëdâ podawane informacje na górnej belce Workbencha, oczywiôcie w otwieranym przez MenuBlaster okienku. Kolejna definicja to klawisze, które muszâ byê naciôniëte, aby uaktywniê funkcjë ukrytâ pod jednym z nich. Do zdefiniowania tejûe kombinacji potrzebna jest znajomoôê kilku podstawowych sîów kluczowych, oznaczajâcych poszczególne klawisze Amigi: LSHIFT -- [lewy Shift], RSHIFT -- [prawy Shift], CAPS lub CAPSLOCK -- [Caps Lock], CONTROL lub CTRL -- [Ctrl], LALT -- [lewy Alt], RALT -- [prawy Alt], LCOMMAND, LCMD, LAMIGA lub LAMG -- [lewy Amiga], RCOMMAND, RCMD, RAMIGA lub RAMG -- [prawy Amiga]. Wymienione wyûej klawisze moûna wpisywaê w dowolnych kombinacjach, îâczâc je za pomocâ znaków "!", "|", ",", " ". Mogâ one byê stosowane wymiennie, podobnie jak róûne sîowa kluczowe oznaczajâce ten sam klawisz. Warto moûe jeszcze dodaê, iû w naszym wypadku wywoîanie danej opcji z menu za pomocâ klawiatury wymagaê bëdzie jednoczesnego naciôniëcia klawiszy: [lewy Alt] oraz [lewy Shift], a takûe odpowiedniego klawisza alfanumerycznego. Kolejne linijki naszego pliku konfiguracyjnego to po prostu definicja kolejnych rozwijanych menu, umieszczonych na górnej listwie Workbencha. Menu te sâ oczywiôcie aktywne tylko wtedy, gdy aktywne jest okienko MenuBlastera. Opcja MENU z podanym îaïcuchem znaków oznacza stworzenie osobnego menu o podanej jako argument nazwie. Wszystkie kolejne komendy, aû do nastëpnego rozkazu MENU, dotyczyê bëdâ tylko i wyîâcznie zdefiniowanego menu. A do dyspozycji mamy dwie komendy sîuûâce do budowania menu. Pierwsza z nich to ITEM, po której podana jest nazwa opcji wyôwietlana w menu, a nastëpnie komenda AmigaDOS-u, jaka ma byê wywoîana, oraz ewentualnie klawisz, który bëdzie të opcjë uaktywniaî. Wszystkie trzy argumenty muszâ byê oddzielone od siebie znakami "|". Najwygodniej jest dodaê równieû odpowiedniâ liczbë kodów kontrolnych TAB, aby plik konfiguracyjny byî przejrzysty. Druga z komend, dotyczâcych budowy menu, to SUBI o argumentach identycznych z ITEM. Ta opcja sîuûy jednak do budowy submenu w ramach danego menu. Oczywiôcie, gdy korzystamy z niej, to nazwë takiego podmenu podajemy za pomocâ komendy ITEM bez dwóch ostatnich argumentów. Wszystkie nastëpujâce po sobie komendy SUBI dotyczâ ostatniej komendy ITEM. Jak îatwo zauwaûyê, caîâ konfiguracjë koïczymy za pomocâ sîowa kluczowego ENDE. Z wyjâtkiem oznaczenia koïca pliku nie ma ono ûadnego praktycznego znaczenia. Na koniec jeszcze kilka sîów o moûliwoôci skorzystania z klawiatury w celu wywoîywania niektórych opcji z menu. Moûliwe jest mianowicie jedynie korzystanie z wszystkich klawiszy literowych (od "a" do "z") oraz cyfrowych (od "1" do "0"), a takûe z niektórych znaków specjalnych. Drugim doskonaîym programem, speîniajâcym podobne zadanie, jest >ToolsDaemon<. Jego najnowsza wersja, jakâ udaîo mi sië zdobyê, ma numerek 2.1 i jest chyba najlepszym rozwiâzaniem problemu dodatkowych menu na Workbenchu. Podstawowe zalety tego programu to szalenie prosta obsîuga, nie wymagajâca znajomoôci AmigaDOS-u. Wszystko definiuje sië jedynie za pomocâ prostego programu konfiguracyjnego. Doôê istotnâ cechâ ToolsDaemona jest teû tworzenie menu bezpoôrednio na listwie Workbencha, bez potrzeby otwierania ûadnych dodatkowych okienek, jak to robiî MenuBlaster. Sama instalacja programu jest równieû szalenie prosta. Moûna skorzystaê z doîâczonego do programu skryptu instalera, który automatycznie dokonuje caîego procesu instalacji. Moûna takûe zainstalowaê program samodzielnie. Naleûy jedynie skopiowaê bibliotekë reqtools do katalogu LIBS: oraz plik toolsdaemon-handler do katalogu L:. Pozostaîe dwa programy pakietu mogâ byê umieszczone w dowolnym miejscu, choê najlepiej jest chyba nagraê program konfiguracyjny ToolsPrefs do katalogu PREFS partycji systemowej, a program gîówny ToolsDaemon do WBStartup tejûe samej partycji. Aby zdefiniowaê wîasne menu, naleûy wczytaê program konfiguracyjny. Za jego pomocâ moûna îatwo i szybko stworzyê dowolnâ liczbë menu, limitowanâ jedynie iloôciâ wolnego miejsca na górnej listwie Workbencha. Program konfiguracyjny po wczytaniu otwiera wîasne okienko na ekranie Workbencha. Znajdziemy w nim dwie gîówne czeôci. Pierwsza z nich to lista nazw poszczególnych menu, podmenu oraz zawartych w nich opcji. Obok niej znajduje sië kilka gadûetów, dziëki którym moûna ustalaê rodzaj obiektu, jaki tworzymy. Prawa czëôê okna to z kolei lista komend, jakie majâ byê wywoîane po wybraniu danej opcji. Zacznijmy od bardziej szczegóîowego omówienia sposobu tworzenia menu. Standardowo w konfiguracji umieszczone jest jedno menu, nazwane Utils. Nazwë të moûna oczywiôcie dowolnie zmieniaê, jest to jednak pierwsze menu, jakie stworzymy. Aby doîâczyê do niego jakâkolwiek opcjë, naleûy skorzystaê z gadûetu NEW, umieszczonego pod listâ opcji. Kaûda pierwsza z pozycji definiowanego menu moûe byê jednak jedynie odzielajâcâ liniâ, lub teû po prostu jednâ z opcji menu. Nie moûna wiëc zdefiniowaê pustych menu ani menu rozpoczynajâcych sië od podmenu, jest to jednak chyba zupeînie logiczne. Kolejna linijka moûe byê juû skonfigurowana dowolnie: jako poczâtek kolejnego menu, jako kolejna opcja lub jako podmenu. W tym ostatnim wypadku poprzedzajâca jâ pozycja jest nazwâ tego podmenu i nie definiuje sië dla niej ûadnych rozkazów. Poszczególnym opcjom w menu przyporzâdkowaê moûna dowolnâ sekwencjë rozkazów AmigaDOS-u lub plików wywoîywanych normalnie z poziomu Workbencha. Sîuûy do tego drugie duûe okienko, umieszczone w okienku konfiguracyjnym. Za pomocâ gadûetu NEW moûna tworzyê kolejne komendy, jakie bëdâ asynchronicznie wykonywane po wybraniu definiowanej opcji. Komendy te mogâ byê rozkazami AmigaDOS-u lub plikami uruchamianymi za pomocâ ikony z poziomu Workbencha. Dziëki temu moûna uruchamiaê nawet pliki z danymi, które majâ przyporzâdkowany w ikonie DEFAULT TOOL, czyli narzëdzie, jakie jest przyporzâdkowane wskazanym danym. Wywoîywanym z poziomu menu komendom moûna teû podawaê w prosty sposób argumenty. Wystarczy wskazaê ikonki plików, które majâ byê przekazane wybieranej komendzie. Dodatkowo w jej definicji skorzystaê naleûy ze znaku "[]" w celu wskazania miejsca wstawienia argumentu, np.: (CLI) ViewTek []. Komenda ta po prostu wyôwietli wskazany na Workbenchu obrazek. Na koniec warto jeszcze wspomnieê o kilku rozpoznawanych przez program ToolsPrefs tooltype'ach, które mogâ byê wpisane w jego ikonce: CREATEICONS= -- tworzy, lub nie, ikonkë przy zgrywaniu konfiguracji programu, PUBSCREEN= -- otwarcie okienka konfiguracyjnego na wskazanym ekranie publicznym, SCREENFONT= -- korzystanie z fontu przyporzâdkowanego danemu ekranowi lub ze standardowego kroju Topaz 8 oraz tooltype'y dla programu ToolsDaemon: WINDOW= -- konfiguracja okienka konsoli AmigaDOS-u, standardowo definicja ta wyglâda nastëpujâco: CON:0/25//150/Tools Output Window/AUTO/WAIT/CLOSE i moûe byê oczywiôcie dowolnie modyfikowana, CX_PRIORITY= -- ustawienie priorytetu programu w systemie, standardowe ustawienie to 0. Jak widaê z opisu powyûszych programów oraz tych przedstawionych w poprzedniej czëôci naszego cyklu, kaûdy powinien bez problemu wybraê program optymalny dla jego konfiguracji sprzëtowej i potrzeb. Najbardziej wartym polecenia jest z pewnoôciâ ToolsDaemon -- uniwersalny i najlepiej dopracowany. Wybór jednak pozostawiam Czytelnikom. Od nastëpnego odcinka zajmiemy sië juû stronâ estetycznâ Workbencha, czyli wszystkim, co zwiâzane jest z upiëkszaniem blatu, poczâwszy od nowych ikonek, a skoïczywszy na îadniejszych menu oraz zupeînie nowych rozwiâzaniach dotyczâcych wyboru opcji.