Common Desktop Environment: Användarhandbok för systemadministratörer

Introduktion till funktioner

Funktioner är instruktioner som automatiserar skrivbordsuppgifter, t ex att köra program och öppna datafiler. Funktioner fungerar på ungefär samma sätt som makron och programmeringsfunktioner. Varje funktion har ett namn som används för att köra funktionen.

När du definerar en funktion kan den användas för att anpassa användargränssnittet så att olika aktiviteter blir lättare att utföra. Skrivbordet kan ansluta nya komponenter för användargränssnittet, t ex ikoner, kontroller för Frontpanelen och menyalternativ för funktioner.

Figur 10-1 Hur funktioner används

Graphic

Programgruppen Skrivbordsverktyg i programhanteraren innehåller t ex ikoner som startar olika hjälpmedel.

Figur 10-2 Funktionsikoner i programgruppen Skrivbordsverktyg

Graphic

När du dubbelklickar på en ikon kommer en funktion att köras. Här är t ex en del av definitionen till funktionen som körs när användaren dubbelklickar på ikonen för Xwd Display. Funktionen definieras i konfigurationsfilen /usr/dt/appconfig/types/språk/xclients.dt:

ACTION Xwud
 {
 	LABEL				Xwd Display
 	TYPE				COMMAND
 	EXEC_STRING		/usr/bin/X11/xwud -noclick -in \
 							%(File)Arg_1"Xwd-fil som ska visas:"%
 	...
 }

Kommandot i funktionens EXEC_STRING körs när användaren dubbelklickar på ikonen.

Frontpanelen använder också funktioner. Här är t ex en del av definitionen till ikonen Terminal på panelundermenyn Egna program. Ikonen definieras i konfigurationsfilen /usr/dt/appconfig/types/språk/dtwm.fp:

CONTROL Term
 {
 	ICON				Fpterm
 	LABEL				Terminal
 	PUSH_ACTION		Dtterm
 	...
 }

Fältet PUSH_ACTION anger vilken funktion som ska köras när användaren klickar på kontrollen - i detta fall en funktion kallad Dtterm.

Ett annat vanligt användningsområde för funktioner är menyer. Datafiler har normalt funktioner på Markera-menyn i filhanteraren. XWD-filer (filer med namn som slutar på.xwd eller.wd) har t ex funktionen Öppna som visar skärmbilden genom att köra funktionen Xwud.

Figur 10-3 Funktionen Öppna för filer med datatypen XWD

Graphic

Funktionerna på Markera-menyn anges i datatypsdefinitionen för XWD-filen. Definitionen finns i konfigurationsfilen /usr/dt/appconfig/types/språk/xclients.dt.

DATA_ATTRIBUTES XWD
 {
 	ACTIONS				Open,Print
 	ICON				Dtxwd
 	...
}

Datatypen XWD och tillhörande Open- och Print-funktioner förklaras i Failed Cross Reference Format.

Hur funktioner skapar programikoner

Titta på ikonen Visa xwd i programgruppen Skrivbordsverktyg. Om du dubbelklickar på den körs X-klienten xwud. Ikonen representerar dock inte direkt det körbara programmet xwud i /usr/bin/X11/xwud.

Ikonen med namnet Visa xwd visas i programgruppen eftersom det finns en fil i den mappen med namnet Xwud (se Figur 10-4). Den filen motsvarar underliggande funktioner med samma namn - Xwud. I funktionsdefinitionen är funktionsnamnet namnet efter nyckelordet ACTION :

ACTION Xwud
 {
 	LABEL						Xwd Display
 	TYPE						COMMAND
 	WINDOW_TYPE				NO_STDIO
 	EXEC_STRING				/usr/bin/X11/xwud -noclick -in \
 								%(File)Arg_1"Xwd-fil som ska visas:"%
 	DESCRIPTION				Funktionen Visa xwd (Xwud) visar en \
 								xwd-fil som har skapats med funktionen \
 								Xwd Capture (Xwd). Den använder \
 								kommandot 'xwud'.
 }

Filen kallas för en funktionsfil eftersom den är knuten till en funktion. En fil är en funktionsfil när den är körbar och har samma namn som funktionen. Ikonen i Programhanteraren (eller filhanteraren) kallas för en funktionsikon eller programikon, eftersom programmet startar då du dubbelklickar på den.

Figur 10-4 Programikonen (funktionsikonen) representerar en funktionsfil

Graphic

När programhanteraren hittar en körbar fil letar den igenom funktionens databas för att se om det finns några funktioner vars namn matchar filnamnet. Om så är fallet vet programhanteraren att filen är en funktionsfil.

Innehållet i en funktionsfil är ointressant eftersom den innehåller kommentarer till skrivbordsfunktionen.


Obs!

Funktionsfilen är inte detsamma som funktionsdefinitionsfilen. Funktionsfilen är en fil med samma namn som funktionen. Den används för att skapa programikonen i filhanteraren eller programhanteraren. Funktionsdefinitionsfilen är filen med namnet namn.dt som innehåller funktionens definition.


När skrivbordet upptäcker att en fil är en funktionsfil, används den underliggande funktionen för att definiera funktionsfilens utseende och metod.

Figur 10-5 Ikonbild som anges med fältet ICON i funktionsdefinitionen

Graphic

Funktionen Xwud kallas en kommandofunktion eftersom dess definition innehåller kommandot som ska köras (EXEC_STRING). Fältet TYPE i funktionsdefinitionen definierar funktionstypen.

Inledningsvis visas ikonen Visa xwd i programgruppen Skrivbordsverktyg. Du kan dock skapa ytterligare kopior av funktionsikonen i valfri mapp där du har skrivbehörighet. Så länge funktionsdefinitionen för Xwud är en del av databasen, blir alla körbara filer du skapar med namnet Xwud en funktionsfil som representerar den funktionen. Ikonen i program- eller filhanteraren används för att köra funktionen.

Hur funktioner använder datafiler som argument

Ett argument till ett kommando är normalt en fil som kommandot arbetar med. Funktioner kan skrivas för att acceptera filargument.

EXEC_STRING för funktionen Xwud anger t ex att ett filargument krävs:

EXEC_STRING				/usr/bin/X11/xwud -noclick -in \
 							%(File)Arg_1"Xwd-fil som ska visas:"%

Termen Arg står för ordet argument. Syntaxen Arg_1 innebär det första argumentet, och (File) innebär att funktionen behandlar argumentet som en fil.

Det enklaste sättet för användaren att tillhandahålla ett filargument är att släppa en datafil på programikonen. Skrivbordet känner av sökvägen till den släppta filen och placerar den i kommandoraden i stället för texten mellan symbolerna % (%(File)Arg_1"Xwd-fil som ska visas: "%). Kommandot som körs blir då:

/usr/bin/X11/xwud -noclick -in sökväg

När användaren dubbelklickar på programikonen känner skrivbordet av från EXEC_STRING att ett filargument krävs, och visar en dialogruta som ber användaren att skriva ett filnamn eller en sökväg. I fallet med funktionen Xwud blir ledtexten:

Xwd-fil som ska visas:

Filnamnet eller sökvägen som användaren anger används som filargument.

Ytterligare användningsområden för funktioner

Förutom för att starta program används funktioner på skrivbordet för att skapa funktionalitet i: