Ett utförligt exempel på hur du kan använda de här stegen för att skapa ett programpaket finns i "Exempel på hur du kan skapa ett registreringspaket".
Ändra alla programresurser som anger teckensnitt och färger. Annars kommer inte skrivbordets dynamiska teckensnitt och färger att fungera korrekt.
Skapa en rotadress för programmet.
Skapa katalogstrukturen under programroten.
Skapa åtgärderna och datatyperna för programmet.
Se "Steg 4: Skapa åtgärderna och datatyperna för programmet".
Placera hjälpfilerna i lämplig katalog.
Skapa ikonerna för programmet
Skapa programgruppen för programmen.
Registrera programmet med hjälp av dtappintegrate.
Se "Steg 8: Registrera programmet med hjälp av dtappintegrate".
Ett exempel på hur du kan ändra resurser för ett program finns i Steg 1 i "Exempel på hur du kan skapa ett registreringspaket".
Skrivbordet tillhandahåller mekanismer för att ange och ändra gränssnittsteckensnitt och fönsterfärger. För att ett program ska kunna använda de här mekanismerna korrekt kan du behöva ändra programmets app-defaults-fil.
Det här avsnittet gäller för program som är skapade med OSF/Motif 1.2(TM) (eller senare versioner). Inställningar kan inte ange gränssnittsteckensnitt för program som är skrivna med tidigare versioner av OSF/Motif.
Inställningar på skrivbordet anger gränssnittsteckensnitt för program som är skrivna med OSF/Motif 1.2 (eller senare versioner) om programmet inte anger programspecifika gränssnittsteckensnitt.
Inställningar tillhandahåller två teckensnitt:
systemteckensnitt - används i systemområden som etiketter, menyer och knappar
användarteckensnitt - används i redigerbara områden, t ex textfält
Varje teckensnitt finns i sju storlekar, med etiketten 1 t o m 7 i dialogrutan Teckensnitt. Teckensnitten i Inställningar är kopplade till faktiska teckensnitt i systemet via resurser för Inställningar som anges i /usr/dt/app-defaults/språk/Dtstyle.
Om du vill att programmet ska använda teckensnitten i Inställningar, bör du ta bort alla programresurser som anger teckensnitt för gränssnittet. Skrivbordet anger automatiskt korrekta programresurser:
FontList - ange som systemteckensnitt
XmText*FontList - ange som användarteckensnitt
XmTextField*FontList - ange som användarteckensnitt
Inställningar erbjuder möjlighet att ändra programfärger dynamiskt. Programmet måste vara en OSF/Motif 1.1- eller OSF/Motif 1.2-klient. Klienter som skrivs med andra verktygslådor kan inte ändra färg dynamiskt. Färgändringarna träder i kraft när klienten startas om.
Det enklaste sättet att använda de dynamiska färger som tillhandahålls av skrivbordet är att ta bort alla programfärgresurser för bakgrunds- och förgrundsfärg.
Ett exempel på hur du kan skapa en rotkatalog för ett skrivbordsprogram finns i Steg 2 i "Exempel på hur du kan skapa ett registreringspaket".
Registreringspaketets filer för programmet är grupperade under en katalog som kallas programrot eller prgm_rot. Katalogen prgm_rot som används för skrivbordskonfigurationsfilerna kan vara samma katalog som programmets installationskatalog (prgm_rot) eller någon annan katalog.
Anta exempelvis att ett program är installerat under katalogen /usr/BTE. Samma katalog kan användas som prgm_rot för skrivbordskonfigurationsfilerna. Om du däremot integrerar ett befintligt program som inte är skrivbordsanpassat, skapar du en annan prgm_rot-katalog för skrivbordssystemet. Det här förhindrar att konfigurationsfilerna som du skapar blir överskrivna när du uppdaterar programmet.
En systemadministratör kan t ex vilja skapa en katalog som heter /etc/desktop_approots/BTE som skrivbordssystemets prgm_rot-katalog.
Ett exempel på hur du kan skapa registreringspaketkataloger för ett program finns i Steg 3 i "Exempel på hur du kan skapa ett registreringspaket".
Registreringspaketet är den grupp med skrivbordskonfigurationsfiler som används av skrivbordet för att tillhandahålla ett grafiskt gränssnitt för programmet.
Skrivbordskonfigurationsfilerna innehåller:
Filer med åtgärds- och datatypsdefinitioner
Filer med ikonbilder
En programgruppskatalog och dess innehåll
Hjälpdatafiler och en konfigurationsfil för huvudgruppen (valfritt)
Registreringspaketet samlas under en katalog på högsta nivån som kallas programroten eller prgm_rot.
Huvudkategorierna av konfigurationsfält under katalogen prgm_rot/dt/appconfig visas i Tabell 5-1.
Tabell 5-1 Konfigurationsfält - huvudkategorier
Underkatalog |
Innehåll |
---|---|
types |
Filer med åtgärds- och datatypsdefinitioner |
help |
Skrivbordshjälpfiler |
icons |
Bitmapp- och bildpunktsbeskrivningsfiler som används av programmets åtgärder och datatyper |
appmanager |
Katalogen och innehållet som skapar programgruppen |
Var och en av huvudkategorierna har underkataloger för språkberoende filer. Standardspråksfiler placeras i katalogen C.
Skapa de här katalogerna. Om du tillhandahåller språkberoende konfigurationsfiler skapar du en separat katalog för varje språk. Om du bara använder ett språk placerar du filerna i katalogen C.
prgm_rot/dt/appconfig/types/språk
prgm_rot/dt/appconfig/help/språk
prgm_rot/dt/appconfig/icons/språk
prgm_rot/dt/appconfig/appmanager/språk/programgruppsnamn, där programgruppsnamn är namnet på programgruppen.
I Figur 5-5 visas programhanteraren med en grupp vars programgruppsnamn är "Mediaverktyg".
Verktyget dtappintegrate fungerar bara för skrivbordskonfigurationsfilerna i katalogerna types, help, icons och appmanager. Programmets binära körbara app-defaults och meddelandekatalogfiler administreras separat.
Ett exempel på hur du kan skapa åtgärderna och datatyperna för ett program finns i Steg 4 i "Exempel på hur du kan skapa ett registreringspaket".
Åtgärder och datatyper tillhandahåller ett användargränssnitt för programmet.
Åtgärder tillhandahåller ett användargränssnitt där kommandot kan starta programmet.
Datatyper tillhandahåller anpassade utseenden och beteenden för programmets datafiler.
Ett typiskt program kan kräva följande åtgärds- och datatypsdefinitioner:
En åtgärd som öppnar programmet.
En datatyp för datafilerna i programmet. Om du skapar en datatyp behöver du också skapa:
En Öppna-åtgärd för datafilerna i programmet
En SkrivUt-åtgärd för datafilerna i programmet
En datatyp för programgruppen (se "Konfigurera programgruppen så att den använder en unik ikon").
En beskrivning av hur åtgärder och datatyper används på skrivbordet finns i Kapitel 10.
Åtgärder och datatyper definieras i konfigurationsfiler. Det enda namnkravet för filer som innehåller åtgärds- och datatypsdefinitioner är att de måste ha filnamnstillägget .dt. Du kanske vill att filen ska heta åtgärdsnamn.dt eller programnamn.dt.
Placera filer som innehåller åtgärder och datatyper under programroten i katalogen prgm_rot/dt/appconfig/types/språk. Standardspråk är C.
Du kan skapa åtgärds- och datatypsdefinitioner för ett program på två sätt:
Använd verktyget Skapa åtgärd.
Skapa åtgärd innehåller ett lättanvänt gränssnitt med textfält som du fyller i. Verktyget har emellertid vissa begränsningar.
Skapa definitionerna manuellt.
Det här kräver att du lär dig syntax för att skapa definitionerna, men ger dig samtidigt tillgång till hela uppsättningen funktioner.
Den här proceduren använder hjälpmedlet Skapa åtgärd för att skapa åtgärder och datatyper för programmet.
Mer information om Skapa åtgärd finns i direkthjälpen och i Kapitel 11.
Öppna programgruppen Skrivbords_prog och dubbelklicka på Skapa åtgärd.
Använd Skapa åtgärd för att skapa åtgärds- och datatypsdefinitioner för programmet och dess datatyp.
Konfigurationsfilen som skapas av Skapa åtgärd sparas i Hemkatalog/.dt/type/åtgärdsnamn.dt. Åtgärdsfilen (den körbara filen med samma namn som åtgärden) placeras i din hemkatalog.
Testa åtgärden med hjälp av åtgärdsfilen som har skapats i din hemkatalog.
Kopiera åtgärdsdefinitionsfilen Hemkatalog/.dt/type/åtgärdsnamn.dt till katalogen prgm_rot/dt/appconfig/types/språk.
När programgruppskatalogen har skapats (se "Steg 7: Skapa programgruppen"), kopierar du åtgärdsfilen Hemkatalog/åtgärdsnamn till katalogen prgm_rot/dt/appconfig/appmanager/språk/programgruppsnamn.
Skapa en konfigurationsfil som innehåller åtgärds- och datatypsdefinitioner för programmet.
Åtgärds- och datatypsdefinitionsfilerna måste namnges enligt mönstret namn.dt.
Du kan placera alla åtgärds- och datatypsdefinitioner i en fil eller distribuera dem bland flera filer. För varje fil använder du ett filnamn som systemadministratörer enkelt kopplar till ditt program.
Åtgärds- och datatypsnamn måste bestå av ett ord (inga inbäddade blanksteg). Du kan använda ett understrykningstecken. Enligt konventionen är den första bokstaven i åtgärds- eller datatypsnamnet versal. Använd inte ett befintligt åtgärdsnamn eller filnamn. Använd ett namn som avancerade användare och systemadministratörer enkelt kopplar till ditt program.
Om du vill att programmets ikon ska ha ett annat namn än åtgärdsnamnet tar du med fältet LABEL i åtgärdsdefinitionen.
Mer information om hur du skapar åtgärder och datatyper finns i:
Ett exempel på hur du kan lägga till hjälpfiler i ett registreringspaket finns i Steg 5 i "Exempel på hur du kan skapa ett registreringspaket".
Om programmet innehåller en skrivbordshjälpvolym (en hjälpvolym som är skapad med skrivbordssystemets hjälputvecklingssystem), bör hjälpvolymens huvudfil (*.sdl) placeras i katalogen prgm_rot/appconfig/help/språk.
Grafik som används av hjälpfilerna placeras vanligen i underkatalogen graphics. Grafiken måste finnas i samma katalog i förhållande till huvudhjälpvolymfilen (*.sdl) som när hjälpvolymen skapades.
Om programmet inte innehåller en hjälpvolym kan du skapa en sådan, om du har tillgång till hjälputvecklingssystemet.
Det finns två integrationsnivåer för en hjälpvolym:
När skrivbordshjälpen är fullständigt integrerad kan hjälpvolymen öppnas från programmet, t ex via objekthjälp och Hjälp-menyn. Full integrering innebär att programmets körbara filer ändras.
När skrivbordshjälpen är delvis integrerad är den tillgänglig från högsta nivån i hjälphanteraren. Du kan emellertid inte komma åt hjälpvolymen från programmets fönster. Du kan också låta en åtgärd komma åt hjälpen från programgruppen. I följande åtgärdsexempel visas hjälpvolymen som finns i hjälpens huvudfil MittPrgm.sdl:
ACTION VisaMittPrgmHjälp { LABEL MittPrgmHjälp ARG_COUNT 0 TYPE COMMAND WINDOW_TYPE NO_STDIO EXEC_STRING /usr/dt/bin/dthelpview -helpVolume MittPrgm DESCRIPTION Visar hjälp för programmet MittPrgm. }
Ett exempel på hur du kan skapa ikonfiler för ett program finns i Steg 6 i "Exempel på hur du kan skapa ett registreringspaket".
Skrivbordet tillhandahåller standardikoner för åtgärder, datatyper och programgrupper. Troligen vill du emellertid skapa unika ikoner för programmet.
Ikoner placeras i katalogen prgm_rot/dt/appconfig/icons/språk.
Programmet använder de här ikonbilderna på skrivbordet:
Åtgärdsikon. Det här är den ikon som användaren dubbelklickar på för att starta programmet (åtgärderna). ICON-fältet för den åtgärd som startar programmet innehåller en referens till den här ikonen.
Den finns i tre storlekar: mycket liten, medelstor och stor.
Datatypsikon. Den här ikonen används för att representera programmets datafiler i filhanteraren. Datatypsdefitionens ICON-fält innehåller en referens till den här ikonen.
Om programmet stöder flera datatyper bör du ha en särskild ikon för varje datatyp.
Den finns i två storlekar: mycket liten och medelstor.
Programgruppsikon. Det här är den ikon som representerar katalogen på högsta nivån i programhanteraren. ICON-fältet för programgruppens datatypsdefition innehåller en referens till den här ikonen. (Se "Steg 7: Skapa programgruppen".)
Den finns i två storlekar: mycket liten och medelstor.
Du kan behöva stödja både bildpunktsbeskrivnings- och bitmappsversioner av varje ikon för att stödja både färgskärmar (åtta bitar och större) och monokroma skärmar (färre än åtta bitar).
Storlek, Sidformat, Grad |
Bildpunktsstorlek |
Bitmappsnamn |
Bildpunktsmönster |
---|---|---|---|
mycket liten |
16 gånger 16 |
grundnamn.t.bm |
grundnamn.t.pm |
medelstor |
32 gånger 32 |
grundnamn.m.bm |
grundnamn.m.pm |
stor |
48 gånger 48 |
grundnamn.l.bm |
grundnamn.l.pm |
Om du inte tillhandahåller bitmappsfiler anger skrivbordet färgspecifikationerna för bildpunktsbeskrivningsfilerna till svartvitt. Det är dock möjligt att den här tilldelningen inte ger det utseende du vill ha.
Mer information om ikoner finns i "Ikonbildsfiler".
Ett exempel på hur du skapar en programgrupp finns i Steg 7 i "Exempel på hur du kan skapa ett registreringspaket".
När du har skapat åtgärds- och datatypsdefinitionerna för programmet måste du skapa konfigurationsfilerna som ska skapa det som användaren ser på skärmen: programgruppen och dess innehåll.
Programgruppen är en katalog på högsta nivån i programhanteraren (se Figur 5-1).
Du skapar programgruppen i tre steg:
Skapa programgruppskatalogen i registreringspaketet.
Valfritt: konfigurera programgruppen så att den använder en unik ikon. Det innebär att du skapar datatypsdefinitionen för programgruppskatalogen.
Skapa innehållet i programgruppen.
Om du vill skapa en programgrupp skapar du katalogerna i registreringspaketet under appmanager, enligt anvisningarna i Figur 5-7.
<Programgruppsnamn> i Figur 5-7 är namnet på programgruppen.
Namnet kan vara ett valfritt tillåtet fil- eller katalognamn. Använd ett namn som beskriver programmet.
Skrivbordet tillhandahåller en standardikon för programgrupper. Troligen vill du emellertid använda en anpassad ikon.
Om du vill använda en unik ikon för programgruppen måste du skapa:
En datatyp för katalogen som visas på översta nivån i programhanteraren.
Öppna- och SkrivUt-åtgärder för datatypen.
Anta exempelvis att du vill skapa en programgrupp som heter Mediaverktyg. Följande datatypsdefinition, som finns i filen prgm_rot/dt/appconfig/types/språk/namn.dt, anger en unik ikon som programgruppsikon.
DATA_ATTRIBUTES Media_ToolsAppgroup { ACTIONS OpenInPlace,OpenNewView ICON MediaTools DESCRIPTION Dubbelklicka för att öppna Mediaverktygets \ programgrupp }
DATA_CRITERIA Media_ToolsAppgroupCriteria1 { DATA_ATTRIBUTES_NAME Media_ToolsAppgroup MODE d PATH_PATTERN */appmanager/*/Mediaverktyg }
Attributavsnittet i definitionen anger vilken ikon som ska användas. Villkorsavsnittet i definitionen anger att datatypen ska definieras till en katalog som heter Media_Tools, som är en underkatalog till en katalog som heter appmanager.
Figur 5-9 visar förhållandet mellan programgruppsnamnet och datatypsdefinitionen. Fältet PATH_PATTERN i datatypsdefinitionen tilldelar en unik ikon till programgruppen.
Du bör också skapa en Öppna- och en SkrivUt-åtgärd för programgruppens datatyp:
ACTION Open { ARG_TYPE Media_ToolsAppGroup TYPE MAP MAP_ACTION OpenAppGroup }
ACTION Print { ARG_TYPE Media_ToolsAppGroup TYPE MAP MAP_ACTION PrintAppGroup }
Åtgärderna OpenAppGroup och PrintAppGroup är inbyggda åtgärder som är definierade i /usr/dt/appconfig/types/språk/dtappman.dt.
Det viktigaste elementet i programgruppen är den ikon som startar programmet (en åtgärdsikon). Om programgruppen innehåller en uppsättning program finns det vanligen en ikon för varje program.
Förutom en eller flera åtgärdsikoner kan programgruppen innehålla:
En eller flera README-filer
Ett eller flera exempel på datafiler
Mallar
En ikon som användaren kan dubbelklicka på för att visa hjälpinformation
En direkthjälp
En särskild huvudgruppskontroll
Programgruppen kan innehålla underkataloger.
Programgruppen bör innehålla en ikon som startar programmet. Om gruppen tillhandahåller en uppsättning program bör det finnas en ikon för varje program. Ikonerna kallas programikoner eller åtgärdsikoner, eftersom de representerar en underliggande åtgärd.
Du skapar en åtgärdsikon genom att skapa en körbar fil med samma namn som åtgärden den kommer att köra:
prgm_rot/dt/appconfig/appmanager/programgruppsnamn/åtgärdsnamn
Filen kallas en åtgärdsfil, eftersom den används för att skapa en visuell representation av den underliggande åtgärden.
Om du t ex har skapat en åtgärd som heter BraTextredigerare som kör programmet BraTextredigerare, skapar du en körbar fil som heter BraTextredigerare. I filhanteraren och programhanteraren använder åtgärdsfilen ikonbilden som anges i åtgärdsdefinitionen.
Figur 5-10 åskådliggör förhållandet mellan åtgärdsdefinitionen, åtgärdsfilen och den faktiska posten i programhanterarfönstret.
Till skrivbordet finns datatypen README som du använder till programmets README-filer. Uttrycket Readme förknippas oftast med något som är viktigt, dvs en fil eller något som ska läsas så snart som möjligt. Använd en av följande namngivningskonventioner:
README
readme
README.*
Read.*.Me
read.*.me
READ.*.ME
För det mesta behöver du inte ange en kontrolldefinition för huvudgruppen. Användaren kan lägga till programmet i huvudgruppen genom att släppa åtgärdsikonen på installationsikonen på en panelundermeny.
Du kanske vill skapa en konfigurationsfil för Huvudgruppen som innehåller en kontrolldefinition för programmet om du vill att användare ska kunna installera en kontroll som fungerar annorlunda än åtgärdsikonen, om t ex kontrollen övervakar en fil och ändrar utseende när den övervakade filen ändras.
Huvudgruppens konfigurationsfiler placeras i katalogen prgm_rot/dt/appconfig/types/språk. Filerna måste använda namngivningskonventionen namn.fp.
Om du anger en konfigurationsfil med en kontroll, kan användaren lägga till kontrollen i en panelundermeny genom att släppa filen *.fp på installationsikonen på panelundermenyn.
Följande definition kan exempelvis placeras i en konfigurationsfil på huvudgruppen i programgruppen. Om användaren släpper den här filen på en installationsikon på en panelundermeny skapas en kontroll i panelundermenyn, som kör en upplaga av programmet BraTextredigerare. Om BraTextredigerare redan körs flyttas fönstret högst upp i fönsterstacken på den aktuella arbetsytan.
CONTROL BestTextEditorControl { TYPE icon ICON BTEFPanel PUSH_RECALL True CLIENT_NAME BTEd PUSH_ACTION BTEditor DROP_ACTION BTEditor HELP_STRING Startar programmet BraTextredigerare. }
Mer information om hur du skapar konfigurationsfiler för huvudgruppen finns i:
direkthjälpen (man) till dtfpfil(4)
Ett exempel på hur du kan registrera ett program finns i Steg 8 i "Exempel på hur du kan skapa ett registreringspaket".
När du har skapat ett registreringspaket under en programrot kan du utföra själva programregistreringen.
Med programregistrering skapar du länkar mellan registreringspaketet och katalogerna i skrivbordssystemets sökvägar (se "Hur dtappintegrate integrerar program ").
Om programmet är skrivbordsanpassat körs vanligen dtappintegrate automatiskt som sista steg i installationsprocessen. Om det inte körs automatiskt, eller om du har skapat konfigurationsfiler för att integrera ett icke skrivbordsanpassat program, kan du köra dtappintegrate manuellt.
Logga in som root.
Kör kommandot:
/usr/dt/bin/dtappintegrate -s prgm_rot
där prgm_rot är skrivbordssystemets programrotskatalog. Mer information finns i direkthjälpen (man) till dtaction(1).
Öppna programgruppen Skrivbordsverktyg och dubbelklicka på Ladda om åtgärder.
Kontrollera att programmet är korrekt registrerat:
dtappintegrate -s prgm_rot [-t målsökväg ] [-l språk ] [-u]
-s prgm_rot |
Nödvändig parameter som anger vilken programrot som programmet är installerat under. |
-t målsökväg |
Valfri parameter. Som standard används placeringen /etc/dt/appconfig. Anger adressen dit skrivbordets konfigurationsfiler är länkade. Du måste använda en adress i programmets sökväg. |
-l språk |
Valfri parameter. Som standard används alla språk. Anger vilka språkberoende skrivbordskonfigurationsfiler som ska integreras. |
-u |
Valfri parameter, avintegrerar programmet och tar bort alla länkar som skapades under integreringen. |
Funktionen hos dtappintegrate är att skapa länkar mellan de installerade filerna och de platser där skrivbordet letar efter konfigurationsfiler.
dtappintegrate skapar symboliska länkar från åtgärds- och datatypsdefinitionsfilerna i registreringspaketet till katalogen för hela systemet enligt åtgärdsdatabasens hjälpsökväg. Detta åstadkoms genom att länkar skapas från
prgm_rot/dt/appconfig/types/språk/*.dt
till
/etc/dt/appconfig/types/språk/*.dt
dtappintegrate skapar symboliska länkar från hjälpfilerna i registreringspaketet till katalogen för hela systemet enligt åtgärdsdatabasens hjälpsökväg. Detta åstadkoms genom att länkar skapas från
prgm_rot/dt/appconfig/help/språk/hjälpfil.sdl
till
/etc/dt/appconfig/help/språk/hjälpfil.sdl
dtappintegrate skapar symboliska länkar från ikonfilerna i registreringspaketet till katalogen för hela systemet enligt åtgärdsdatabasens hjälpsökväg. Detta åstadkoms genom att länkar skapas från
prgm_rot/dt/appconfig/icons/språk/ikonfiler
till
/etc/dt/appconfig/icons/språk/ikonfiler
För att placera programgruppen för programmet på översta nivån i programhanteraren skapar dtappintegrate en länk mellan programgruppskatalogen i registreringspaketet och den systemtäckande adressen enligt programmets sökväg. Detta åstadkoms genom att länkar skapas från katalogen
prgm_rot/dt/appconfig/appmanager/språk/programgruppsnamn
till
/etc/dt/appconfig/appmanager/språk/programgruppsnamn