Det finns flera sätt på vilka åtgärden COMMAND stödjer fönster på skrivbordet.
Om programmet har ett eget fönster kan åtgärden skrivas så att den inte ger ytterligare fönsterstöd. Det här alternativet används också när en åtgärd kör ett kommando som inte kräver någon direkt användarindata och inte har några utdata.
Om programmet måste köras i ett terminalfönster kan åtgärden skrivas så att den startar ett terminalfönster och sedan kör programmet. Det finns flera terminalalternativ.
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
Tillgängligt fönsterstöd |
|
---|---|
Inget. Använd NO_STDIO om programmet har ett eget fönster eller om kommandot inte har synliga utdata. |
|
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). |
|
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). |
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 }
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:
-rubrik fönsterrubrik
-e kommando
Två resurser bestämmer vilken standardterminalemulator som används av åtgärderna:
Resursen localTerminal avgör vilken terminalemulator som används av lokala program.
*localTerminal: terminal
Till exempel:
*localTerminal: xterm