Dario savjetuje: WinXP kontekstni izbornik (engl. "context menu")

Kontekstni izbornik

Ideja prema kojoj dobivamo izbornik prilagođen trenutnoj situaciji (kontekstu) je posve logična, kad je se jednom prisjetimo. Danas, u pravilu kontekstni izbornik dobivamo pritiskom desne tipke miša (ili drugog uređaja koji ima ulogu sveprisutnog miša te ako je miš podešen za dešnjake).

Microsoft Windows XP

Premda sam koristio WinXP, situacija je slična u Microsoft operativnim sustavima Windows 2000/2003 (bez obzira na verziju).

Implementacija u Microsoft Windows-ima (preciznije, u explorer.exe programu) omogućava nam prilagodbu kontekstnog izbornika svojim potrebama.

Konfiguracijski registar (engl. registry)

U registru Windows-a nalazi se konfiguracija operativnog sustava i većine programa (uglavnom stariji programi koristili su posebne, tzv. "ini" datoteke). S registrom treba biti pažljiv, mijenjanje ili brisanje podataka u registru mogu napraviti od računala napravu primjerenu mjerenju visine zgrade (u suradnji sa štopericom i elementarnom matematikom).

Pristup do registra kontrolira se, slično kao i pristup do datoteka na disku, putem korisnika, grupa i njihovih prava. Registar je organiziran u strukturu stabla, pa se prava mogu definirati na svakom nivou posebno. Prava se mogu nasljeđivati s prethodnog, višeg nivoa. Ako želite primijeniti tehnike iz ovog teksta, trebate biti pripadnik grupa Administrators ili Power Users. Grupa "običnih" korisnika (grupa Users) nema potrebnih prava za promjenu registra.

Pristup do Windows konfiguracije moguć je Registry Editor-om (regedit.exe), koji standardno dolazi s Windows-ima, ali i programima drugih proizvođača.

Konfiguracija ljuske

Mene zanima konfiguracija programa explorer.exe koji Windows-i koriste kao ljusku (školjku, engl. shell) koja se prikazuje korisniku, prima od njega naredbe i izvršava ih. Moguće je koristiti druge programe umjesto explorer-a, ali u tom slučaju Vas ovaj tekst vjerojatno ne zanima.

Primjer 1: "DOS prozor" u zadanom direktoriju

Za dodavanje opcije koju ću nazvati "Otvori cmd", a koja pokreće program cmd.exe (unaprijeđena verzija DOS komandne linije), potrebno je:

  1. pokrenuti regedit
  2. pozicionirati se na My Computer\HKEY_CLASSES_ROOT\Directory\shell
  3. dodati novi ključ (engl. key) nazvan "cmd"
  4. u desnom prozoru otvoriti tekstualni zapis "(Default)" i upisati "Otvori cmd"
  5. pozicionirati se na "cmd" ključ u lijevom prozoru
  6. dodati novi ključ (engl. key) nazvan "command"
  7. u desnom prozoru otvoriti tekstualni zapis "(Default)" i upisati cmd.exe /k "cd %L"

Dodavanje novog ključa radi se preko izbornika Edit->New->Key ili putem kontekstnog izbornika (desni klik miša) New->Key. Otvaranje tekstualnog zapisa radi se dvostrukim klikom miša.

Umjesto gornjeg postupka, identičan rezultat možete postići učitavanjem (engl. import) ovog ključa kojeg možete snimiti na disk i kasnije učitati regedit programom (na izborniku File->Import...). Datoteka koju snimite na disk je u tekst formatu pa je možete prilagoditi svojim potrebama običnim notepad programom.

Ako sada izaberemo neki direktorij (u explorer-u) i otvorimo kontekstni izbornik, imamo novu opciju "Otvori cmd", koja otvara "DOS" prozor u izabranom direktoriju.

Primjer 2: "Cygwin ljuska" u zadanom direktoriju

"Cygwin ljuska" je alternativa cmd ljusci koja ima ugrađene napredne mogućnosti korištene na *nix (Unix, Linux) operativnim sustavima. Cijeli Cygwin paket može se besplatno skinuti i instalirati na Windows stroju. Kako bi pristup do Cygwin-a bio jednostavniji, dodajem opciju koju zovem "Otvori Cygwin", a koja pokreće bash ljusku cygwin-a. Kako bi otvorio bash ljusku u izabranom direktoriju, napravio sam mali komandni skript:


@echo off
cd %1
E:\cygwin\bin\bash --login -i

Skript sam snimio u datoteku E:\cygwin\start-cygwin.bat. Ta skripta treba, prije pokretanja bash ljuske, promijeniti aktivni direktorij. Dodatno, pregledao sam svoju Cygwin instalaciju i u datoteci E:\cygwin\etc\profile komentirao red #cd "$HOME".

Samo dodavanje opcije u kontekstni izbornik slično je prethodnom primjeru. Treba samo zamijeniti tekst "Otvori cmd" tekstom "Otvori Cygwin" i komandu cmd.exe /k "cd %L" zamijeniti komandom e:\cygwin\start-cygwin.bat "%L".

Kao u prethodnom primjeru, možete snimiti ključ , prilagoditi ga (promijeniti direktorije prema svojoj instalaciji Cygwin-a) i učitati ga u registar.

Primjer 3: Validacija XHTML datoteka

Validaciju XHTML datoteka radim pomoću Joe Clark-ovog nsgmls-a. I u ovoj situaciji koristim mali komandni skript:


@echo off
E:\Projects\Others\sp-1.3.4\bin\nsgmls -s
  -c E:\Projects\Others\sp-1.3.4\pubtext\xhtml.soc
  -c E:\Projects\Others\sp-1.3.4\pubtext\xhtml1.dcl
  -f%1.txt %1
start /wait %1.txt
del %1.txt

Cijela komandna linija kojom se poziva nsgmls razlomljena je na više redova radi preglednosti. Cijeli posao validacije XHTML-a ovdje obavi program nsgmls, koji pronađene pogreške upisuje u datoteku koja ima isto ime kao i original, na koje je dodana ekstenzija ".txt". Po završetku rada nsgmls-a, pokreće se (linija koja počinje sa "start") default program za otvaranje txt datoteka (skript čeka kraj rada tog programa) i na kraju brišem privremenu datoteku s popisom greški.

Pozivanje ovog skripta iz kontekstnog izbornika razlikuje se od prethodnih primjera samo u činjenici da se opcija pojavljuje na izborniku samo za datoteke s ekstenzijom html (to je napravljeno kao primjer, jednostavno je dodati isti postupak za htm i ostale ekstenzije).

Najbitnija razlika u odnosu na prva dva primjera odnosi se na korak 2. Ovaj puta, pozicioniramo se na My Computer\HKEY_CLASSES_ROOT\htmlfile\shell, gdje dodajemo novi ključ nazvan "validate-xhtml". Za ključ definiramo tekst koji se pojavljuje u izborniku kao "Validiraj XHTML", a komanda glasi "E:\Projects\Others\sp-1.3.4\bin\validate-xhtml.bat %L".

Tradicionalno, možete snimiti ključ , prilagoditi ga (promijeniti direktorije prema svojoj instalaciji nsgmls-a) i učitati ga u registar.

Pogledajte

Naslovna stranica