Det finns flera sätt på vilka funktionen COMMAND stödjer fönster på skrivbordet
Om programmet har ett eget fönster kan funktionen skrivas så att den inte ger ytterligare fönsterstöd. Det här alternativet används också när en funktion 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 funktionen 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 funktionen 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. Funktionen ö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 mapp). |
|
Temporärt terminalemulatorfönster. Funktionen ö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 funktionsdefinitionen för att ange kommandoradsalternativ för terminalemulatorn.
Följande funktion frågar t ex efter värddatorn för exekvering:
ACTION ÖppnaTermPåValfrittSystem { WINDOW_TYPE PERM_TERMINAL EXEC_HOST %(String)"Fjärrterminal på:"% TERM_OPTS -title %(String)"fönstertitel:"% EXEC_STRING $SHELL }
Standardterminalemulator för funktioner är dtterm. Du kan ändra detta till en annan terminalemulator. Standardterminalemulatorn används när funktionen inte särskilt anger vilken terminalemulator som ska användas.
Terminalemulatorn som används av funktionerna måste ha dessa kommandoradsalternativ:
-title fönstertitel
-e kommando
Två resurser bestämmer vilken standardterminalemulator som används av funktionerna:
Resursen localTerminal anger vilken terminalemulator som används av lokala program.
*localTerminal: terminal
Exempel:
*localTerminal: xterm