@database ShellScr.guide @author Kyzer/CSG @$VER: ShellScrSI.guide 1.6 (23.10.99) @remark to lahko berete v ogledovalniku besedil, če morate @node main "Dokumentacija ShellScr v1.6" @{u}ShellScr v1.6@{uu} @{" " link intro} Predstavitev @{" " link usage} Splošno o uporabi @{" " link options} Možnosti ShellScr @{" " link history} Zgodovina ShellScr @{" " link glossary} Slovar pomembnih izrazov @{" " link credits} Zasluge ShellScr je program, ki odpre lupino v celotni velikosti na svojem javnem zaslonu. Avtorske pravice (C) 1997-1999 Kyzer/CSG Program je prosta programska oprema; dovoljeno je ponovno razpošiljanje in/ali spreminjanje pod pogoji splošne javne licence GNU, kot jo je objavila Free Software Foundation; bodisi različica lincence 2 ali (če želite) katerakoli novejša različica. Program se razpošilja v upanju, da bo uporaben, vendar BREZ KAKRŠNEGAKOLI ZAGOTOVILA; celo brez zagotovila, da je VREDEN LASTNE CENE in USTREZEN ZA KAKŠEN POSEBEN NAMEN. Za več podrobnosti poglejte v splošno javno licenco GNU. Poleg programa bi morali prejeti tudi izvod splošne javne licence GNU; če niste, pišite na Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @{"Kontaktiranje avtorja" link credits} @endnode @node intro "Predstavitev" Zakaj ne bi, namesto da uporabljate lupino v oknu in tvegate zmedo na vašem Workbenchu, imela lupina svoj lasten zaslon? ShellScr je program, ki odpre nov javni zaslon in odpre na njem lupino v celotni velikosti. Ko zapremo vsa okna na javnem zaslonu, vključno z lupino samo, se zaslon zapre. ShellScr zna lupino pognati tudi z uporabo druge datoteke od običajne S:Shell-Startup, zato ga lahko uporabljate tudi kot nadomestek za IconX. @{"Kako uporabljati ShellScr?" link usage} @endnode @node usage "Uporaba ShellScr" @{b}Zahteve:@{ub} @{b}--------@{ub} ShellScr za delovanje potrebuje Workbench 2 (v37) ali boljši. Če želite uporabljati druge pisave kot topaz, potrebujete knjižnico diskfont.library. Neobvezna zahtevka ASL, s katerima lahko izbirate pisave in zaslonske načine, oba potrebujeta vsaj različico knjižnice asl.library iz Workbencha 2.1 (v38) ali nadomestek/popravek, kot sta ReqTools in ReqPatch. @{b}Razpošiljanje:@{ub} @{b}--------------@{ub} Prosim, posredujte drugim celoten arhiv, kakršnega ste prejeli sami, z izvorno kodo, primeri ikon in tem priročnikom. Hvala. @{b}Namestitev:@{ub} @{b}-----------@{ub} Enostavno poženite namestitveni program. @{b}Poganjanje ShellScr:@{ub} @{b}--------------------@{ub} Poženete lahko neomejeno število kopij ShellScr. ShellScr je čist in ga lahko naredite pritajenega. Da bi pognali ShellScr, enostavno dvakrat kliknite na njegovo ikono ali vtipkajte "ShellScr" v že odprto lupino. Potem se bo pojavila nova lupina na svojem zaslonu. Ta zaslon je sedaj privzeti in mnogo programov bo odprlo svoja okna na tem zaslonu namesto na Workbenchu. Če s tipko Shift izberete datoteko ali predal v Workbenchu in potem poženete ShellScr, boste pognali lupino v tistem predalu. To deluje tudi, če izberete datoteko ali predal in poženete ShellScr na tem predalu s programom orodne vrstice, kot sta "ToolsDaemon" in "ToolManager". Lupino lahko zaprete kadarkoli če pritisnete CTRL+\\, ali v njej natipkate EndShell. Vendar se bo zaslon zaprl šele, ko bodo vsa okna na njem zaprta. Običajno je lupina edino okno, tako da se zaslon zapre, ko zaprete lupino. Kako prilagoditi zaslon in lupino, si poglejte v @{"možnostih ShellScr" link options}. @endnode @node options "Možnosti ShellScr" Delovanje ShellScr lahko spremenite z uporabo naslednjih možnosti. Lahko jih nastavite iz lupine, iz orodnih lastnosti programa ShellScr, iz orodnih lastnosti ikone, katere privzeto orodje je ShellScr, iz orodnih lastnosti ikone ali predala, ki je med izbranimi ob zagonu ShellScr, ali iz orodnih lastnosti ikone, ki je izbrana medtem, ko poženete ShellScr kot ukaz WB iz ToolsDaemon, ToolManager ali drugega podobnega programa. Možnosti zaslona @{" " link PUBNAME} PUBNAME @{" " link MODEID} MODEID @{" " link DEPTH} DEPTH @{" " link FONT} FONT @{" " link AUTOSCROLL} AUTOSCROLL @{" " link SHANGHAI} SHANGHAI @{" " link TITLE} TITLE @{" " link NOTITLE} NOTITLE Možnosti lupine @{" " link CONSPEC} CONSPEC (WINDOW) @{" " link COMMANDFILE} COMMANDFILE (FROM) @{" " link STACKSIZE} STACKSIZE @endnode @node PUBNAME "Možnost PUBNAME" WB: PUBNAME Lupina: PUBNAME=NAME To je javno ime, ki ga bo ShellScr dal ustvarjenemu zaslonu. Običajno je javno ime SHELL_XXXX, kjer je XXXX enolična prepoznavna koda posamezne lupine. Svetujem vam, da te možnosti _ne_ uporabljate, če ni nujno, kajti ko odprete eno lupino z imenom, druge z istim imenom ne morete odpreti istočasno. Prosim, oglejte si program MultiCX, ki ima možnosti za ustvarjanje 'čarobnega' imena javnega zaslona v ospredju, katerikoli že je. Če želite nastaviti besedilo v naslovni vrstici, prosim uporabite možnost @{"TITLE" link TITLE}. @endnode @node MODEID "Možnost MODEID" WB: MODEID Lupina: MODEID=ID To je zaslonski način, ki ga želite za odprti zaslon. Določa, kateri monitor in kakšno ločljivost naj uporablja zaslon ShellScr. Zaslonski način lahko določite na kateregakoli izmed naslednjih načinov: - kot desetiško število (združljivo s prejšnimi zaslonskimi načini ShellScr) - kot šestnajstiško številko, ki se začne z ´$´ ali ´0x´, npr. "0x29004" - kot resnično ime zaslonskega načina, npr. "PAL:Visoka prepletena". - kot vprašaj, "?", ali prazen niz, "", kar bo priklicalo zahtevek ASL za zaslonski način in vam omogočilo izbiro zaslonskega načina. Seznam "pravih imen" lahko najdete v urejevalniku nastavitev zaslonskega načina ali zahtevku ASL za zaslonski način. Preverjanje pravih imen je občutljivo na velikost črk, tako je "PAL:Visoka" pravilno, "pal:visoka" pa ne bo sprejeto. Če ne določite zaslonskega načina ali določite neveljavnega, bo privzeto uporabljen isti zaslonski način kot za privzeti zaslon (običajno Workbench). Za nastavljanje števila barv na zaslonu si poglejte tudi možnost @{"DEPTH" link DEPTH}. @endnode @node DEPTH "Možnost DEPTH" WB: DEPTH Lupina: DEPTH/N To je desetiško število bitnih ravnin, ki jih želite za zaslon, med 1 in 4, ali med 1 in 8 na računalnikih s čipovjem AGA ali podobno izboljšano grafično kartico. Če ste lastnik sodobne grafične kartice, lahko izberete 16 bitnih ravnin (hicolour) ali 24 bitnih ravnin (truecolour). Več bitnih ravnin ko uporabljate, več pomnilnika zaslon potrebuje. Privzeti sta vedno dve bitni ravnini (4 barve). Uporabniki MagicWB bodo morda želeli zaslon s 3 bitnimi ravninami za njihovih 8 barv MWB, a večina bo za lupino uporabljala običajni 2 bitni ravnini! Če za možnost @{"MODEID" link MODEID} izberete zahtevek za zaslonski način, lahko tam nastavite tudi globino zaslona. Dejanske barve na samem zaslonu bodo prevzete s privzetega javnega zaslona. @endnode @node FONT "Možnost FONT" WB: FONT Lupina: FONT/K Ta vam omogoča izbiro nesorazmerne pisave za zaslon. Enostavno povejte ime pisave in velikost, "XEN/9" ali podobno. Če želite uporabljati pisavo velikosti 8 točk, velikosti niti ne potrebujete, napišite le "XEN" ali podobno. Če za pisavo določite "" ali "?", se bo odprl zahtevek ASL za pisavo, v katerem boste lahko izbrali pisavo in velikost. Okna lupine običajno prevzamejo nesorazmerno pisavo z zaslona, na katerem se nahajajo. Ni vzroka, da bi vas nasilno oviral, a ShellScr vas opozori, če zahtevate sorazmerno pisavo, in najbrž boste opazili, da je lupina ne uporablja, ampak le naslov zaslona. ShellScr je pameten pri izbiri privzete pisave. Če privzeti zaslon uporablja nesorazmerno pisavo, bo uporabljal to. Sicer bo uporabljal privzeto sistemsko pisavo, ki je izbrana v urejevalniku nastavitev pisav. @endnode @node AUTOSCROLL "Možnost AUTOSCROLL" WB: AUTOSCROLL Lupina: AUTOSCROLL/S Če nastavite to možnost, za zaslon omogočite samodejno drsenje. To pomeni, da če potegnete zaslon s prikaza, ga lahko pomaknete nazaj zgolj s premikanjem miške. @endnode @node SHANGHAI "Možnost SHANGHAI" WB: SHANGHAI Lupina: SHANGHAI/S Pred prihodom Workbencha 2 za Amigo so imeli programi 2 možnosti, ko so odpirali okno. Lahko so ga odprli na svojem uporabniškem zaslonu ali na zaslonu Workbencha. V Workbenchu 2 se zdaj okna odprejo na privzetem zaslonu - ampak zaradi združljivosti se stari programi še vedno odprejo na zaslonu Workbencha. Amiga ima posebno globalno možnost za javne zaslone, ki se imenuje "način Shanghai". Če je ta nastavljena, se stari programi odprejo na privzetem zaslonu kot njihovi sodobni dvojniki. Enostavno nastavite to opcijo, če želite vključiti način Shanghai. @endnode @node TITLE "Možnost TITLE" WB: TITLE Lupina: SCREENTITLE=TITLE To je besedilo, ki bo vidno v naslovni vrstici zaslona. Ta možnost je tu zato, ker odprta lupina ne bo imela svoje naslovne vrstice. Privzeto besedilo v naslovni vrstici je ´AmigaShell´. Za popolno odstranitev naslovne vrstice si poglejte možnost @{"NOTITLE" link NOTITLE}. @endnode @node NOTITLE "Možnost NOTITLE" WB: NOTITLE Lupina: NOTITLE=HIDETITLE/S Ta določa, naj zaslon sploh nima naslovne vrstice, tako da dobite celoten zaslon. @{"Izračun velikosti okna" link sizing} to upošteva. Vedite, da okno CON: s to možnostjo izgleda zelo grdo! Najbolje je, da jo uporabljate za rokovalnik, kot je VNC:, ki resnično uporablja ves zaslon. @endnode @node CONSPEC "Možnost CONSPEC (WINDOW)" WB: CONSPEC Lupina: CONSPEC=WINDOW To je najbolj tehnična nastavitev ShellScr. Če ne želite uporabljati te možnosti, vam je ni potrebno! To je določilo za okno konzole, ki se bo odprlo na javnem zaslonu. Vsebovalo naj bi dva znaka "%s", ki ju bo ShellScr nadomestil z določenimi vrednostmi. Prvi "%s" bo spremenjen v koordinate in velikost okna v formatu "l/g/š/v", npr. "0/3/640/253" na zaslonu velikosti 640x256. Drugi "%s" bo spremenjen v ime javnega zaslona, ki ga uporabljamo. Okno naj bi bilo ozadno, brez okvirja, brez orodij in brez naslova. Privzeto je naprimer "CON:%s//BACKDROP/ NOBORDER/SCREEN%s". Če uporabljate paket VINCEd, je dobra nastavitev naslednja: VNC:%s//SCREEN%s/BACKDROP/NOBORDER/NOCLOSE/NOSIZE/NODRAG/NODEPTH/ NOPROPX/NOPROPY/NOBUTTONS/NOICONIFY/SHELL/MENU Morda si želite prebrati podatke o @{"izračunu velikosti okna" link sizing}. @endnode @node COMMANDFILE "Možnost COMMANDFILE (FROM)" WB: COMMANDFILE Lupina: COMMANDFILE=FROM Ta v bistvu omogoča nastavitev skripta, ki naj bo pognan ob zagonu ShellScr. Lupina navadno požene S:Shell-Startup, a ta možnost vam omogoča, da nastavite, kateri skript naj se požene ob zagonu. Ravno tako kot parameter 'FROM' programa NewShell (res je, natanko tako je narejeno). Poleg nekaj manjših razlik je to isto, kot naredi IconX. Tako ta možnost omogoča mnogo smešnih šal, kot to pokaže tudi primer. @endnode @node STACKSIZE "Možnost STACKSIZE" WB: STACKSIZE Lupina: STACKSIZE=STACK/N Običajno nova lupina prevzame velikost sklada programa ShellScr (privzeto - ignoriran bo očitni ukaz ´Stack´ v Amigini lupini, ki ga lahko date v svoj S:shell-startup, da enostavno povečate velikost sklada). Torej, da bi dobili velik sklad v lupini, morate dati velik sklad programu ShellScr, ki potrebuje le 1 KB? Ni tako - zdaj lahko uporabite to možnost in date ShellScr majhen sklad in istočasno velik sklad lupini. Velikost sklada za novo lupino določite v bajtih, ki so zaokroženi navzgor k najbližjim 4 bajtom. Najmanjša velikost za lupino je 1600 bajtov (1,5 KB), največja pa je omejena le z razpoložljivim pomnilnikom. Privzeta velikost sklada za novo lupino je 4096 bajtov (4 KB). @endnode @node history "Zgodovina ShellScr" 1.0: Prva objava 1.1: Dodane možnosti @{"PUBNAME" link PUBNAME}, @{"MODEID" link MODEID}, @{"DEPTH" link DEPTH}, @{"TITLE" link TITLE} in @{"CONSPEC" link CONSPEC}. Uporaba System() namesto Execute(). Nekoliko počiščena izvorna koda. 1.2: Narejenih še nekaj kontrol. Dodana možnost @{"NOTITLE" link NOTITLE}. Boljši @{"izračun velikosti okna" link sizing} Sedaj iz Workbencha pravilno nastavi trenutni predal in poti. 1.3: Zdaj razčlenjuje orodne lastnosti ikon. Zdaj uporablja barve privzetega zaslona. Počiščena dokumentacija. 1.4: Zahtevka za zaslonski način in pisavo. Dodana možnost @{"FONT" link FONT}. Dodana možnost @{"COMMANDFILE" link COMMANDFILE}. Popravljeni conspec zdaj pravilno deluje. Zdaj razloži napake mnogo bolje, še posebej "ne morem odpreti zaslona". Popravljeno razčlenjevanje parametrov. V bistvu so predali in ikone brez ikon povzročali sesuvanje/zmrzovanje/nasmeten pomnilnik/itd... nič več. Zdaj lahko naredite ShellScr pritajen. Pojavi se zahtevek 'Zapiranje zaslona', če ShellScr ne more takoj zapreti svojega zaslona. 1.4b: Poskus odpravljanja hroščev. Vsekakor args.m ne povzroča več zadetkov programa Enforcer. Odstranitev napačnih klicev, če se asl.library _ni_ mogel odpreti. Majhno popravilo razčlenjevanja za zaslon in pisave. 1.5: Dodane možnosti @{"STACKSIZE" link STACKSIZE}, @{"AUTOSCROLL" link AUTOSCROLL} in @{"SHANGHAI" link SHANGHAI}. Nastavitev globine/samodejnega drsenja iz zahtevka za zaslonski način. Preklic zahtevka za zaslonski način sedaj prekine izvajanje programa. Zahtevek 'Zapiranje zaslona' ima sedaj možnost 'Prekliči'. Zdaj se ob odprtju sam nastavi za privzeti javni zaslon. Dodano prepoznavanje 'resničnega imena' zaslonskega načina. Odstranjeno 'sesutje', ki se pojavi, če ukaz NewShell ne uspe. Sporočilo napake, če ukaz NewShell ne uspe. Popravljeni hrošči pri izbiri pisav. Številne počistitve, preureditve in stvari, ki sem jih pozabil. 1.6: Popravil @{"dobro opisan hrošč" link sources} Dodal lokalizacijo. Dodal veseli namestitveni skript. Pisavo se lahko določi v formatu 'mojapisava.24'. Odstranjen zahtevek 'Zapiranje zaslona', ker se je izkazalo, da ga je zelo težko priklicati. Uporabnik lahko sedaj ShellScr pošlje CTRL+C in tako ponovno poskusi z zaprtjem, če mehanizem Intuition spodleti. Zdaj je knjižnjica asl.library odprta le, če je res potrebno. @{" Prihodnji razvoj " link future} @endnode @node future "Prihodnji obeti za ShellScr" Zmanjkalo mi je novih idej Če res tako mislite, bom odstranil lastnosti, ki jih ne marate, nočete ali ne potrebujete. Dober stari scrsh je imel le malo več kot 1KB, veste. (ne pozabi na ´z napakami zasut in trdo zakodiran´ -Ed.) Katerikoli drugi predlogi so _tudi_ dobrodošli. @{"Pošljite mi jih." link credits} @endnode @node sources "Source notes" Makefile je oblikovana tako, da teče le na mojem računalniku in ne bo zgradila ShellScr. Ker so vsi prevedeni gradniki prisotni, naj to ne bi bil problem; vtipkajte le ´ec opti ShellScr.e´. Vsi gradniki in njihove izvorne kode so na voljo. Vse najdete v mojem arhivu na Aminetu, ´dev/e/kyz.lha´. V bistvu lahko sami uporabite katerikoli gradnik v celoti ali spremenjen, če me le omenite. Gradniki v zbirniku uporabljajo globalne spremenljivke E s pomočjo datoteke include, ki jo je ustvaril eglobs.e Ne sprostim vseh nizov in seznamov, ki jih ustvarim, to sem prepustil zagonski kodi. To naredi kodo za izpis manjšo in izvorno kodo enostavnejšo, kar skorajda nadomesti zapravljen pomnilnik medtem, ko program teče. @{b}Velik grd hrošč:@{ub} V rutini clr() je bila napaka enojnega zamika, ki je počistila prvi bajt naslova, ki je sledil strukturi parametrov. Nisem je videl na svoji 24 bitni EC020, vsi ostali pa so jo. Žal mi je zato. @endnode @node sizing "Izračun velikosti okna" Izračun velikosti okna za ShellScr je naslednji: Širina okna je vedno celotna širina zaslona. Če ste zadovoljni s privzetim oknom CON: in ne določite drugačnega @{"CONSPEC" link CONSPEC}, potem bo navpična višina okna višina_zaslona - 3 zaradi dejstva, da CON: najbolje izgleda s to nastavitvijo, njena neuporabna naslovna vrstica je tako prekrita z zaslonsko naslovno vrstico. Če uporabljate lasten @{"CONSPEC" link CONSPEC}, ShellScr ne privzema ničesar in za navpično velikost uporabi velikost_zaslona - velikost_naslovne_vrstice. Če uporabite možnost @{"NOTITLE" link NOTITLE}, potem naslovne vrstice ni in za lupino dobite celoten zaslon. @endnode @node glossary "Slovar pomembnih izrazov" @{b}Prikaz@{ub} Slika, ki jo vaša Amiga prikaže na vaši TV ali monitorju. @{b}Zaslon@{ub} Grafično področje, ki je prikazano na prikazu. Zaslone lahko vlečete z in na prikaz ter jih razporejate pred in za drug drugega. Odprtih imate lahko toliko zaslonov, kolikor imate pomnilnika. @{b}Zaslon Workbencha@{ub} To je temeljni zaslon Amige. To je prvi zaslon, ki ga uporabnik vidi ob zagonu Amige, in običajno ostane zaslon, ki ga aplikacije uporabljajo, kadar ne uporabljajo svojega uporabniškega zaslona. Zaslon Workbencha je javni zaslon in ob zagonu je privzeti zaslon. @{b}Uporabniški zaslon@{ub} To je zaslon, ki ga aplikacija odpre zase. Nobena druga aplikacija na njem ne more (legalno) odpreti okna. @{b}Javni zason@{ub} Zaslon, ki ga lahko obišče vsaka aplikacija. Javni zaslon ima ime (javno ime zaslona Workbencha je 'Workbench') in aplikacije se lahko nanj sklicujejo, če ob odprtju okna navedejo točno ime. Če imena ne navedejo, bo okno odprto na privzetem zaslonu. @{b}Privzeti zaslon@{ub} To je običajno zaslon Workbencha, a to lahko spremenijo aplikacije ali uporabnik z ustrezno programsko opremo. Vsak javni zaslon lahko postane privzeti zaslon. ShellScr prevzame privzete vrednosti za mnoge nastavitve z javnega zaslona. Na primer, če ne navedete nastavitve za @{"MODEID" link MODEID}, bo ShellScr odprl enak zaslon, kot je privzeti. Na privzetem zaslonu se odprejo okna, če aplikacija ne določi drugega zaslona. V tem pravilu je izjema - iz razlogov združljivosti bo stara programska oprema vedno odprta na zaslonu Workbencha. To združljivost lahko izključite z @{"načinom Shanghai" link SHANGHAI}. @{b}Sklad@{ub} Del pomnilnika, ki ga vsaka aplikacija dobi za shranjevanje prehodnih podatkov. Aplikacije za UNIX so na slabem glasu zaradi potrebe po velikem obsegu sklada. @endnode @node credits "Zasluge" ShellScr je priredba programa v zbirniku 'scrsh' avtorja Kyzer/CSG. ShellScr je napisal Kyzer/CSG v Amiga E 3.3a, temelji na izvorni kodi scrsh.asm avtorja Kyzer/CSG, izvorni kodi iz RKM clonescreen.c in izvorni kodi knjižnice dospath.library avtorja Stefana Beckerja. V ničemer več ne spominja na kateregakoli izmed njih. Prevod vsega materiala programa ShellScr v druge jezike je opravila @{"Amiga Translators Organisation" link ATO.readme/main}. @{b}Najlepše želje naj prejmejo:@{ub} (DE) Walter Haidinger in deJoker, ki sta prosila za možnost @{"COMMANDFILE" link COMMANDFILE}. (AU) Frank Bunton, ki je prosil za boljše barve. (DE) Thomas Richter, za 'popravilo' WBLoad in za ViNCEd! (NL) Wouter van Oortmerssen, za jezik E. (DE) Frank Wille, za PhxAss. (US) Free Software Foundation, za licenco GNU in za GNU make. @{b}Zahvale:@{ub} IconX je (C) Amiga International (tako piše tu...) MultiCX je (C) Martin Berndt. PubChange je (C) Steve Koren. ReqTools in ReqPatch sta (C) Nico François, Magnus Holmgren in Dave Jones. ToolManager je (C) Stefan Becker ToolsDaemon je (C) Nico François ViNCEd in VNC: sta (C) Thomas Richter. XEN je (C) Martin Huttenloher @{b}Kontakt:@{ub} Kyzer/CSG, 49 Fairview Road, AB22 8ZG, Scotland. ali e-pošta: kyzer@4u.net http://zap.to/kyz @endnode