Solaris Common Desktop Environment: Handbok för avancerade användare och systemadministratörer

Kapitel 12 Skapa åtgärder manuellt

Det finns två sätt att skapa åtgärder:

När du skapar en åtgärd manuellt måste du redigera en databasfil. Det här kapitlet beskriver hur du skapar åtgärdsdefinitioner manuellt.

När åtgärder måste skapas manuellt

Det finns tre grundtyper av åtgärder:

Verktyget Skapa åtgärd är utformat för att skapa vissa typer av COMMAND- och MAP-åtgärder. Alla TT_MSG-åtgärder måste skapas manuellt.

Mer information finns i "Begränsningar i Skapa åtgärd".

COMMAND-åtgärder

En kommandoåtgärd utför ett kommando som startar ett program eller ett verktyg, kör en kommandofil i skalet eller exekverar ett operativsystemkommando. Definitionen av åtgärden innehåller kommandot som ska köras (EXEC_STRING).

Verktyget Skapa åtgärd kan användas till att skapa de vanligaste typerna av kommandoåtgärder. Det kan dock finnas situationer där du måste skapa åtgärden manuellt. Du måste exempelvis skapa en COMMAND-åtgärd manuellt om åtgärden anger:

MAP-åtgärder

En avbildningsåtgärd är en åtgärd som avbildas på en annan åtgärd i stället för att den direkt anger ett kommando eller ToolTalk-meddelande.

Med tilldelning kan du ange alternativa namn på åtgärder. En inbyggd kommandoåtgärd med namnet IconEditor startar Ikonredigeraren. Databasen innehåller också en Öppna-åtgärd, som i definitionen är begränsad till bitmapps- och bildpunktsfiler (av fältet ARG_TYPE Denna åtgärd har avbildats på åtgärden IconEditor. På så sätt kan användaren starta Ikonredigeraren genom att markera en bitmapps- eller bildpunktsfil i filhanteraren och därefter välja Öppna på Markera-menyn.

Skapa åtgärd erbjuder begränsad tilldelning för Öppna- och Skriv ut-åtgärder. Alla andra tilldelningsåtgärder måste skapas manuellt.

TT_MSG-åtgärder (ToolTalk-meddelanden)

TT_MSG åtgärder skickar ToolTalk-meddelanden. Alla TT_MSG-åtgärder måste skapas manuellt.

Skapa en åtgärd manuellt: Allmänna steg

Det här avsnittet beskriver hur du skapar en konfigurationsfil för en åtgärdsdefinition.

Konfigurationsfiler för åtgärder

Konfigurationsfiler som innehåller åtgärdsdefinitioner måste uppfylla följande krav:

Mer information om hur du ändrar sökväg för åtgärder och datatyper finns i "Ange värde för en sökväg".

Skapa en åtgärd manuellt

  1. Öppna en befintlig databasfil eller skapa en ny.

    Se föregående avsnitt, "Konfigurationsfiler för åtgärder".

  2. Skapa en åtgärdsdefinition med syntaxen:

    	ACTION åtgärdsnamn
     	{
     		TYPE		åtgärdstyp
     		åtgärdsfält
     		...
     	}

    där:

    åtgärdsnamn - anger namnet som används för att köra åtgärden

    åtgärdstyp - COMMAND (standard), MAP eller TT_MSG.

    åtgärdsfält - ett av de nödvändiga eller valfria fälten för den här typen av åtgärd. Alla fält består av ett nyckelord och ett värde.

    Många av åtgärdsfälten beskrivs i det här kapitlet. Mer information finns i direkthjälpen (man page) för dtactionfile(4).

  3. Spara filen.

  4. Om du vill att åtgärdsikonen ska ha en unik bild skapar du en ikon till åtgärden. Standardadressen för ikoner är:

    • Egna ikoner: Hemkatalog/.dt/icons

    • Systemtäckande ikoner: /etc/dt/appconfig/icons/språk. Standardalternativet för språk är C.

      Mer information finns i "Ange åtgärdens ikonbild".

  5. Dubbelklicka på Ladda om åtgärder i programgruppen Skrivbordsverktyg.

  6. Skapa åtgärdsfilen för åtgärden. Åtgärdsfilen skapar en ikon i filhanteraren eller programhanteraren som representerar åtgärden. (Om åtgärden är skriven för att starta ett program kallas ikonen för programikon.)

    Om du vill skapa en åtgärdsfil skapar du en körbar fil med samma namn som ett åtgärdsnamn. Du kan placera den här filen i en valfri katalog, som du har skrivbehörighet till. Du kan skapa så många åtgärdsfiler du vill.

Exempel på hur du skapar en COMMAND-åtgärd

I följande steg skapas en egen åtgärd som startar ett faxprogram i fjärrsystemet ProgServerA. Kommandot som startar faxprogrammet är:

/usr/fax/bin/faxcompose [filnamn]
  1. Skapa filen Hemkatalog/.dt/types/Fax.dt.

  2. Placera följande åtgärdsdefinition i filen:

    	ACTION FaxComposer
     	{
     		TYPE					COMMAND
     		ICON					fax
     		WINDOW_TYPE			NO_STDIO
     		EXEC_STRING			/usr/fax/bin/faxcompose -c %Arg_1%
     		EXEC_HOST     	 	AppServerA
     		DESCRIPTION    	Kör faxprogrammet
    	}

    Fälten WINDOW_TYPE och EXEC_STRING beskriver åtgärdens uppförande.

    WINDOW_TYPE - nyckelordet NO_STDIO anger att åtgärden inte behöver köras i ett terminalemulatorfönster.

    See "Ange fönsterstöd för åtgärden".

    EXEC_STRING - syntaxen %Arg_1% accepterar en släppt fil. Om någon dubbelklickar på åtgärdsikonen, öppnar åtgärden ett tomt faxassistentfönster.

    Se "Skapa en exekveringssträng för COMMAND-åtgärder".

  3. Spara filen.

  4. Skapa följande ikonbildsfiler i Hemkatalog/.dt/icons med hjälp av Ikonredigeraren:

    • fax.m.pm, 32 gånger 32 bildpunkter

    • fax.t.pm, 16 gånger 16 bildpunkter

  5. Dubbelklicka på Ladda om åtgärder i programgruppen Skrivbordsverktyg.

  6. Skapa en körbar fil med namnet FaxComposer i en katalog som du har skrivbehörighet till (t ex hemkatalogen).

Exempel på hur du skapar en MAP-åtgärd

Anta att de flesta filer du faxar skapas med Textredigeraren och är av datatypen TEXTFILE (filer med namnet *.txt).

Stegen nedan lägger till menyalternativet ''Fax'' på datatypens Markera-meny.

  1. Öppna filen Hemkatalog/.dt/types/Fax.dt, som skapades i föregående exempel.

  2. Lägg till den här tilldelningsdefinitionen i filen:

    	ACTION Fax
     	{
     		ARG_TYPE			TEXTFILE
     		TYPE				MAP
     		MAP_ACTION		FaxComposer
     	} 
  3. Spara filen.

  4. Kopiera en dataattributsdefinition för TEXTFILE från /usr/dt/appconfig/types/språk/dtpad.dt till den nya filen Hemkatalog/.dt/types/textfile.dt. Lägg till åtgärden Fax i fältet ACTIONS .

    	DATA_ATTRIBUTES TEXTFILE
     	{
     		ACTIONS			Open,Print,Fax
     		ICON				Dtpenpd
     		...
     	}
  5. Spara filen.

  6. Öppna programhanteraren och dubbelklicka på Ladda om funktioner i programgruppen Skrivbordsverktyg.

Starta om databasen för åtgärder och datatyper

För att nya och redigerade åtgärdsdefinitioner ska träda i kraft måste skrivbordet läsa om databasen.

    Öppna programgruppen Skrivbordsverktyg och dubbelklicka på Ladda om åtgärder.

    Eller kör kommandot:

    	dtaction ReloadActions

    ReloadActions är namnet på den åtgärd vars ikon heter ''Ladda om åtgärder''.

    Åtgärdsdatabasen läses också om när användaren:

    • Loggar in

    • Startar om arbetsytehanteraren

    • Sparar en åtgärd i fönstret Skapa åtgärd genom att välja Spara på Fil-menyn.

Skapa åtgärdsfil (ikon) för åtgärd

En åtgärdsfil är en fil som skapas för att visuellt representera åtgärden i filhanteraren eller programhanteraren.

Figur 12-1 Åtgärdsfiler (åtgärdsikoner) i programhanteraren

Graphic

Eftersom en åtgärdsfils ikon representerar en åtgärd, kallas den ibland åtgärdsikon. Om den underliggande åtgärden startar ett program, kallas åtgärdsfilsikonen för programikon.

Om du dubbelklickar på åtgärdsikonen körs åtgärden. Åtgärdsikonen kan också vara ett släppområde.

Skapa en åtgärdsfil (åtgärdsikon)

    Skapa en körbar fil med samma namn som åtgärdsnamnet. Innehållet i filen har ingen betydelse.

Om åtgärdsdefinitionen är:

ACTION  MyFavoriteApp
 {
 	EXEC_STRING				Mfa -file %Arg_1%
 	DESCRIPTION				Kör MyFavoriteApp
 	ICON						Mfapp
 }

blir åtgärdsfilen en körbar fil med namnet MyFavoriteApp. I filhanteraren och programhanteraren använder filen MyFavoriteApp ikonbilden Mfapp.storlek.typ. Om du dubbelklickar på ikonen MyFavoriteApp körs åtgärdens exekveringssträng, och innehållet i fältet DESCRIPTION utgör ikonens objekthjälp ("Kör MyFavoriteApp").

Åtgärdsnamn

Om åtgärdsdefinitionen innehåller fältet LABEL , får åtgärdsfilen innehållet i detta fält som namn i filhanteraren och programhanteraren i stället för filnamnet (åtgärdsnamn). Om åtgärdsdefinitionen t ex innehåller:

ACTION  MyFavoriteApp
 {
 	LABEL      Mitt favoritprogram
 	...
 }

kommer åtgärdsikonen att heta "Mitt favoritprogram".

Ange åtgärdens ikonbild

Använd fältet ICON för att ange vilken ikonbild som ska användas i filhanteraren och programhanteraren för den åtgärdsikon som skapas för åtgärden.

Om du inte anger någon ikon används bildfilerna för standardåtgärdsikoner:

Figur 12-2 Standardbild för åtgärdsikon

Graphic

Standardåtgärdsikonen ändras med resursen:

*actionIcon:    ikonfilnamn

där ikonfilnamn kan vara ett grundnamn eller en absolut sökväg.

Värdet på fältet ICON kan vara:

Tabell 12-1 Ikonnamn och storlek på åtgärdsikoner

Storleken i bildpunkter 

Bitmappsnamn 

Pixmappsnamn 

48 gånger 48 

namn.l.bm

namn.l.pm

32 gånger 32 

namn.m.bm.

namn.m.pm

16 gånger 16 

namn.t.bm

namn.t.pm

Ändra en befintlig åtgärdsdefinition

Du kan ändra alla åtgärder som finns tillgängliga i systemet, inklusive inbyggda åtgärder.


Obs!

Var försiktig när du ändrar databasen för inbyggda åtgärder. De inbyggda åtgärderna är utformade speciellt för att fungera med skrivbordsprogrammen.


  1. Sök reda på definitionen till åtgärd du vill ändra.

    Standardsökvägen för åtgärdsdefinitioner är:

    • Inbyggda åtgärder: /usr/dt/appconfig/types/språk

    • Åtgärder för hela systemet: /etc/dt/appconfig/types/språk

    • Egna åtgärder: Hemkatalog/.dt/types

      Det kan finnas fler sökvägar i systemet. Om du vill visa en lista med de sökvägar som systemet använder för åtgärder, skriver du kommandot:

      	dtsearchpath -v
      

      Systemet använder katalogerna som visas i listan under DTDATABASESEARCHPATH.

  2. Om det behövs kopierar du texten till åtgärdsdefinitionen till en ny eller befintlig fil i någon av dessa kataloger:

    • Åtgärder för hela systemet: /etc/dt/appconfig/types/språk

    • Egna åtgärder: Hemkatalog/.dt/types

      Du måste kopiera inbyggda åtgärder eftersom du inte bör redigera filer i katalogen /usr/dt/appconfig/types/språk.

  3. Redigera åtgärdsdefinitionen.

  4. När du är färdig med redigeringen sparar du filen.

  5. Dubbelklicka på Ladda om åtgärder i programgruppen Skrivbordsverktyg.

Prioritet i åtgärdsdefinitioner

När användarna anropar en åtgärd söker systemet i databasen efter ett matchande åtgärdsnamn. När det finns fler än en åtgärd med samma namn används prioritetsregler för att bestämma vilken åtgärd som ska användas.

Skapa en exekveringssträng för COMMAND-åtgärder

Minimikraven för en COMMAND-åtgärd är två fält: ACTION och EXEC_STRING.

ACTIONåtgärdsnamn
 {
     EXEC_STRING exekveringssträng
 }

Exekveringssträngen är den viktigaste delen av en COMMAND-åtgärdsdefinition. Den använder syntax som liknar den på kommandoraden i ett terminalfönster, men innehåller ytterligare syntax för hantering av fil- och strängargument.

Generella egenskaper för exekveringssträngar

Exekveringssträngar kan innehålla:

Åtgärdsargument

Ett argument är information som är nödvändig för att ett kommando eller program ska kunna köras. Kommandoraden nedan kan du t ex använda för att öppna en fil i Textredigeraren:

dtpad filnamn

I det här kommandot är filnamn ett filargument till kommandot dtpad.

Åtgärder kan, på samma sätt som program och kommandon, ha argument. Det finns två typer av data som en COMMAND-åtgärd kan använda:

Använda skal i exekveringssträngar

I de flesta fall finns funktioner och deras program i samma system. Eftersom den normala värddatorn för exekvering av en funktion är databasvärden, behövs ingen särskild syntax.

Till exempel:

EXEC_STRING				\
 		/bin/sh -c \
 		'tar -tvf %(File)Arg_1% 2>&1 | \${PAGER:-more};\
 		echo "\\n*** Välj Stäng från Fönster-menyn för att stänga***"'

Skapa en funktion som kör ett fjärrprogram

Om ditt program finns i en katalog som är listad i variabeln PATH, kan du ange den körbara filens enkla namn. Om programmet finns någon annanstans måste du använda den absoluta sökvägen till den körbara filen.

Skapa åtgärder som inte använder argument

Använd samma syntax för EXEC_STRING som du skulle använda för att starta programmet från kommandoraden.

Exempel

Skapa åtgärder som accepterar släppta filer

Använd följande syntax för filargumentet:

%Arg_n%

eller

%(File)Arg_n%

(File) är valfritt eftersom argument för Arg_n som standard antas vara filer. (I "Tolka filargument som en sträng" finns information om hur du använder %(String)Arg_n%-syntaxen.)

Med den här syntaxen kan användarna släppa ett datafilobjekt på åtgärdsikonen för att starta åtgärden med filargumentet. Den ersätter det n:te argumentet på kommandoraden. Filen kan vara en lokal fil eller en fjärrfil.

Exempel

Skapa en åtgärd som frågar efter ett filargument

Använd följande syntax för filargumentet:

%(File)"ledtext"% 

Den här syntaxen skapar en åtgärd som visar en ledtext för ett filnamn när användaren dubbelklickar på åtgärdsikonen.

Den här exekveringssträngen visar t ex en dialogruta som frågar efter filargumentet till kommandot wc -w:

EXEC_STRING wc -w %(File)"Räkna ord i filen:"%

Skapa åtgärder som accepterar eller frågar efter en släppt fil

Använd följande syntax för filargumentet:

%Arg_n"ledtext"%

eller

%(File)Arg_n"ledtext"%

Syntaxen skapar en åtgärd som:

Skapa en åtgärd som frågar efter icke-filargument

Använd följande syntax för icke-filparametern:

%"ledtext"%

eller

%(String)"ledtext"%

(String) är valfritt, eftersom text inom citattecken normalt tolkas som strängdata. Den här syntaxen visar en dialogruta som frågar efter icke-fildata. Använd inte syntaxen för att fråga efter ett filnamn.

Den här exekveringssträngen kör t ex kommandot xwd och frågar efter ett värde som ska läggas till i varje bildpunkt:

EXEC_STRING xwd -add %"Lägg till värde:"% -out %Arg_1"Filnamn:"%

Tolka filargument som en sträng

Använd följande syntax för argumentet:

%(String)Arg_n%

Den här exekveringssträngen skriver t ex ut en fil med en titel som innehåller filnamnet med hjälp av kommandot lp -ttitelfilnamn.

EXEC_STRING lp -t%(String)Arg_1% %(File)Arg_1"Fil som ska skrivas ut:"%

Skalmöjligheter för åtgärder

Ange skalet i exekveringssträngen:

/bin/sh -c 'kommando'
/bin/ksh -c 'kommando'
/bin/csh -c 'kommando'

Exempel

Skapa COMMAND-åtgärder för flera filargument

Åtgärder kan använda något av följande tre sätt att hantera flera filargument:

Skapa en åtgärd för icke utbytbara argument

Använd någon av följande syntaxer:

Skapa en åtgärd med utbytbara filargument

Använd någon av följande syntaxer:

Exempel

Skapa åtgärder för flera släppta filer

För att acceptera flera argument för släppta filer och köra en kommandorad i formatet:

kommando fil 1 fil 2 ...

använder du syntaxen:

%Args%

Exempel

Fönsterstöd och terminalemulatorer för COMMAND-åtgärder

Åtgärden COMMAND stöder fönster på skrivbordet på flera sätt.

Ange fönsterstöd för åtgärden

Använd fältet WINDOW_TYPE för att ange den typ av fönsterstöd som krävs av åtgärden enligt Tabell 12-2.

Tabell 12-2 Fältet WINDOW_TYPE och tillgängligt fönsterstöd

WINDOW_TYPE

Tillgängligt fönsterstöd 

NO_STDIO

Inget. Använd NO_STDIO om programmet har ett eget fönster eller om kommandot inte har synliga utdata.

PERM_TERMINAL

Permanent terminalemulatorfönster. Åtgärden öppnar ett terminalfönster som är öppet tills användaren stänger det. Användaren kan skriva data i fönstret. Används tillsammans med kommandon som tar emot vissa indata, skapar vissa utdata och sedan avslutas (t ex ls katalog).

TERMINAL

Temporärt terminalemulatorfönster. Åtgärden öppnar ett terminalfönster som stängs så fort kommandot är färdigt. Används tillsammans med fullskärmskommandon (t ex vi).

Ange kommandoradsalternativ för terminalemulatorn

Använd fältet TERM_OPTS i åtgärdsdefinitionen för att ange kommandoradsalternativ för terminalemulatorn.

Följande åtgärd frågar t ex efter värddatorn för exekvering:

ACTION OpenTermOnSystemUserChooses
 {
 	WINDOW_TYPE					PERM_TERMINAL
 	EXEC_HOST    				%(String)"´Fjärrterminal på:"%
 	TERM_OPTS    				-title %(String)"Fönstertitel:"%
 	EXEC_STRING  				$SHELL
 }

Ange en annan standardterminalemulator

Standardterminalemulator för åtgärder är dtterm. Du kan ändra detta till en annan terminalemulator. Standardterminalemulatorn används när åtgärden inte särskilt anger vilken terminalemulator som ska användas.

Terminalemulatorn som används av åtgärderna måste ha dessa kommandoradsalternativ:

Begränsa åtgärder för vissa argument

När du begränsar en åtgärd till en viss typ av argument förfinas åtgärden. Du bör t ex begränsa en åtgärd som startar en läsare för PostScript-filer till endast PostScript-filargument. Med en sådan begränsning returnerar åtgärden ett felmeddelande om en icke-PostScript-fil anges.

Du kan begränsa åtgärder baserat på:

Begränsa åtgärder till en viss datatyp

Använd fältet ARG_TYPE för att ange vilka datatyper som åtgärden gäller för. Använd datanamnsattributet.

Du kan ange en lista med datatyper. Avgränsa posterna med kommatecken.

I följande åtgärdsdefinition antas till exempel att en GIF-datatyp har skapats.

ACTION Open_Gif
 {
 	TYPE					COMMAND
 	LABEL					"Visa Gif"
 	WINDOW_TYPE			NO_STDIO
 	ARG_TYPE				Gif
 	ICON					xgif
 	DESCRIPTION			Visar gif-filer.
 	EXEC_STRING			xgif
 }

Begränsa åtgärder med antalet argument

Använd fältet ARG_COUNT för att ange hur många argument som åtgärden ska acceptera. Giltiga värden är:

* (standard) - hur många argument som helst. Andra värden har företräde före *.

n - vilket icke-negativt heltal som helst, även 0.

>n - fler argument än n.

<n - färre argument än n.

Använd ARG_COUNT för att ange olika funktioner för åtgärdsikoner, beroende på om användaren dubbelklickar på ikonen eller släpper en fil på den. Se nästa avsnitt, "Ange olika funktioner för dubbelklickning och släppning".

Ange metod för dubbelklickning och släppfunktionen

Använd följande procedur för att skapa en åtgärd som accepterar en släppt fil, men inte frågar efter en fil när någon dubbelklickar på åtgärdsikonen.

  1. Skapa en åtgärdsdefinition för dubbelklickningsfunktionalitet.

    Använd fältet ARG_COUNT för att ange 0-argument. Använd en syntax för EXEC_STRING som inte accepterar släppta argument.

  2. Skapa en andra åtgärdsdefinition för släppfunktionen.

    Använd fältet ARG_COUNT för att ange >0-argument. Använd en syntax för EXEC_STRING som accepterar en släppt fil.

    Anta att följande två kommandorader kan användas för att starta en redigerare med namnet vedit:

    • Starta redigeraren utan filargument:

      	vedit
    • Starta redigeraren med ett filargument som öppnas som skrivskyddat dokument:

      	vedit -R filnamn
      

      Följande två åtgärder skapar släpp- och dubbelklickningsfunktionalitet för en funktion som heter Vedit. Den första åtgärden prioriteras när databasen letar efter en matchning, eftersom ARG_COUNT 0 är mer specifikt än ARG_COUNT * i definitionen av släppfunktionaliteten.

      # Funktionalitet vid dubbelklickning
       ACTION Vedit
       {
       	TYPE						COMMAND
       	ARG_COUNT				0
       	WINDOW_TYPE				PERM_TERMINAL
       	EXEC_STRING				vedit
       }
      
       # Funktionalitet vid släppning
       ACTION Vedit
       {
       	TYPE						COMMAND
       	WINDOW_TYPE				PERM_TERMINAL
       	EXEC_STRING				vedit -R %Arg_1%
       }

Begränsa åtgärder baserat på argumentläge

Använd fältet ARG_MODE för att ange läs- och skrivläge för argumentet. Giltiga värden är:

* (standard) - vilket läge som helst

!w - skrivskyddat

w - skrivbar

Skapa åtgärder som kör program i fjärrsystem

När åtgärder och fjärrexekvering behandlas finns det två termer som ofta används:

databasvärd - systemet som innehåller åtgärdsdefinitionen databasvärd

exekveringsdator - det system där den körbara filen körs

I de flesta situationer finns åtgärder och deras program i samma system. Eftersom databasvärden är standardkörvärd för en åtgärd, krävs ingen särskild syntax.

När värddatorn för exekvering däremot är en annan än databasvärden, måste åtgärdsdefinitionen ange var exekveringssträngen ska köras.

Möjligheten att placera åtgärder och program på olika system är en del av skrivbordets klient/server-arkitektur. Mer ingående information om nätverksprogram finns i "Administrera programtjänster".

Skapa en åtgärd som kör ett fjärrprogram

Använd fältet EXEC_HOST i åtgärdsdefinitionen för att ange platsen för programmet.

Giltiga värden för EXEC_HOST är:

%DatabaseHost% - den datorn där åtgärden har definierats.

%LocalHost% - den värd där åtgärden anropas (sessionsservern).

%DisplayHost% - den värddator som kör X-servern (ej tillåtet för X-terminaler).

%SessionHost% - den värddator där den styrande inloggningshanteraren körs.

värdnamn - den namngivna värden. Använd det här värdet för omgivningar där åtgärden alltid ska anropas på en viss värddator.

%"ledtext"% - frågar användaren efter värddatornamnet varje gång åtgärden startas.

Standardvärdet är %DatabaseHost%, %LocalHost%. Det innebär att när fältet EXEC_HOST utelämnas försöker ändå åtgärden först köra kommandot på den värddator som innehåller åtgärdsdefinitionen. Om detta misslyckas försöker åtgärden köra kommandot på sessionsservern.

Exempel

Använda variabler i åtgärds- och datatypsdefinitioner

Du kan ta med strängvariabler och miljövariabler i filer med åtgärds- och datatyper.

Använda strängvariabler i en åtgärd

En strängvariabeldefinition gäller från definitionens adress till slutet av filen. Det finns inga globala strängvariabler för databasen.

Om en strängvariabel och en miljövariabel har samma namn används strängvariabeln.

Definiera en strängvariabel

    Använd syntaxen:

	set variabelnamn=värde

Variabelnamn kan innehålla alla alfanumeriska tecken samt understreck (_). Varje variabeldefinition måste stå på en separat rad.

Till exempel:

set Remote_Application_Server=sysapp
set Remote_File_Server=sysdata

Referera till en strängvariabel

    Använd syntaxen:

	$[{]variabelnamn[}]

Till exempel:

EXEC-HOST			$Remote_Application_Server
CWD					/net/${Remote_File_Server}/doc/project

Använda miljövariabler i åtgärder och datatyper

    Referera till en miljövariabel med följande syntax:

	$[{]variabel[}]. 

Variabeln ersätts med dess värde när databasen laddas. Om en strängvariabel och en miljövariabel har samma namn används strängvariabeln.

Den här exekveringssträngen skriver exempelvis ut en fil med loginnamnet på försättsbladet.

EXEC-STRING lp -t$LOGNAME %(File)Arg_1%

Starta åtgärder från en kommandorad

På skrivbordet finns kommandot dtaction som används för att köra åtgärder från kommandoraden. Du kan använda dtaction för att köra åtgärder från:

Syntax för dtaction

dtaction [-user användarnamn] [-execHost värdnamn] \
 åtgärdsnamn [argument [argument]...]

-användare användarnamn - ger dig möjlighet att köra åtgärden som en annan användare. Om dtaction anropas av en annan användare än användarnamn, ombeds användaren ange lösenord.

-execHost värdnamn - endast för COMMAND-åtgärder. Anger värddatorn där kommandot kommer att köras.

argument - argument till åtgärden, vanligen filargument.

Klienten dtaction har ytterligare kommandoradsalternativ. Mer information finns i direkthjälpen (man page) för dtaction(1).

Skapa en åtgärd som kör en annan åtgärd

Använd dtaction i åtgärdens EXEC_STRING.

Följande åtgärd använder t ex det inbyggda åtgärdsnamnet Spell (åtgärden "Kontrollera stavning" i programhanteraren). Den nya åtgärden kör Textredigeraren och åtgärden Spell, samt visar stavfel i ett separat terminalemulatorfönster.

ACTION EditAndSpell
 {
 	WINDOW_TYPE				NO_STDIO
 	EXEC_STRING				/bin/sh -c 'dtaction Spell \
 								%Arg_1"Fil:"%; dtpad %Arg_1%'
 }

Skapa åtgärder som kör som andra användare

Använd följande syntax i fältet EXEC_STRING:

EXEC_STRING   dtaction -user användarnamn åtgärdsnamn [filargument]

Den nya användaren (användardnamn) måste ha visningsbehörighet för systemet via någon av följande mekanismer:

Skapa språkanpassade åtgärder

Sökvägen för datatyper omfattar språkberoende adresser. Skrivbordet använder värdet på LANG för att bestämma på vilka adresser datatypsdefinitioner söks.

Adresser för språkanpassade åtgärder

Språkanpassade åtgärdsdefinitioner måste placeras i rätt språkberoende katalog i åtgärdens sökväg.

Standardsökväg:

Språkanpassa en befintlig åtgärd

  1. Skapa en fil i rätt språkberoende katalog (t ex i /etc/dt/appconfig/types/japanese).

  2. Kopiera åtgärdsdefinitionen till den språkberoende konfigurationsfilen.

    Anta att du kopierar åtgärdsdefinitionen från

    	app_root/dt/appconfig/types/C/fil.dt

    till

    	prgm_rot/dt/appconfig/types/japanese/ny_fil.dt
  3. Lägg till fältet LABEL eller ändra det befintliga LABEL -fältet.

    	LABEL			sträng
    

    Programhanteraren och filhanteraren använder namnsträngen för att identifiera åtgärdens ikon.

  4. Språkanpassa något av följande fält i åtgärdsdefinitionen:

    • Språkanpassade ikoner: ICON

    • Språkanpassad objekthjälp: DESCRIPTION

    • Språkanpassade ledtexter: all text inom citattecken i EXEC_STRING

Skapa åtgärder för ToolTalk-program


Obs!

Följande information gäller bara för program som stöder ToolTalk-meddelanden.


Använd åtgärdstypen TT_MSG för att skapa en åtgärd som skickar ett ToolTalk-meddelande.

ACTION åtgärdsnamn
{
 	TYPE		TT_MSG
 	... 
	}

Fälten addressing och disposition

Meddelanden som inte stöds

Följande stöds inte av åtgärder av TT_MSG-typ:

Nyckelord för TT_MSG-åtgärder

I Tabell 12-3 visas nyckelord för och användning av TT_MSG-åtgärder.

Tabell 12-3 TT_MSG Åtgärdsnyckelord och åtgärdsanvändning

Nyckelord 

Användning 

TT_CLASS

Definierar värdet på ToolTalk-meddelandefältet class 

TT_SCOPE

Definierar värdet på ToolTalk-meddelandefältet scope 

TT_OPERATION

Definierar värdet på ToolTalk-meddelandefältet operation 

TT_FILE

Definierar värdet på ToolTalk-meddelandefältet file 

TT_ARGn_MODE

Definierar värdet på ToolTalk-attributet mode för det n:te meddelandeargumentet

TT_ARGn_VTYPE

Definierar värdet på ToolTalk-attributet vtype för det n:te meddelandeargumentet

TT_ARGn_VALUE

Definierar värdet för det n:te meddelandeargumentet