Det här kapitlet beskriver hur du skapar ett registreringspaket för ett program och hur du registrerar programmet.
När ett program är helt registrerat på skrivbordet har det:
En egen programgrupp på översta nivån i Programhanteraren
En funktion som startar programmet. Funktionen representeras av en ikon i programgruppen
Datatyper för sina datafiler (valfritt)
Programregistrering är en icke inträngande åtgärd i programmet:
Den ändrar inte programmets körbara filer. Du kan därför registrera befintliga program i ett system.
Den kräver inte att någon av programmets inbyggda filer (t ex körbara och app-defaults) ska flyttas.
Registrering är enkel att ångra. Verktyget dtappintegrate, som används för att registrera program, innehåller ett kommandoradsalternativ som upphäver processen.
Du kan behöva skapa ett registreringspaket om du är:
En systemadministratör som vill registrera ett befintligt program på skrivbordet
En programmerare som vill skapa ett installationspaket till ett skrivbordsprogram
I det här avsnittet förklaras:
Syftet med programregistrering
Funktioner som tillförs programmet genom programregistrering
Ett utförligt exempel som visar hur du registrerar ett befintligt program finns i "Exempel på hur du kan skapa ett registreringspaket".
Programregistrering erbjuder ett grafiskt sätt för användare att:
Leta rätt på programmet.
I samband med installationen "registreras" programmet i Programhanteraren och får en egen programgrupp.
Starta programmet.
Programgruppen med ditt program innehåller en ikon som användaren kan dubbelklicka på och starta programmet.
Identifiera och ändra datafiler. Programmets datafiler kommer att ha en unik ikon i Filhanteraren.
Användaren kan använda datafilikoner för att:
Starta (Öppna) programmet
Skriva ut datafiler
Utföra andra åtgärder, t ex posthantering, komprimering, visning eller uppspelning av data (ljud).
Ett registrerat skrivbordsprogram innehåller vissa konfigurationsfiler som används av skrivbordet för att visa programmets användargränssnitt:
Filer med funktions- och datatypsdefinitioner
Ikonbildfiler (bildpunktsbeskrivning eller bitmapp)
En mapp och filer som skapar programgruppen
Skrivbordets hjälpfiler och Frontpanelens definitionsfiler (valfritt)
För att dessa filer ska kännas igen och användas av skrivbordet måste de finnas i vissa mappar som anges i skrivbordets sökvägar.
Det kan vara svårt att administrera ett program om dess konfigurationsfiler är utspridda i flera mappar. Därför kan ett program lagra alla skrivbordskonfigurationsfiler i en och samma mapp. Den här grupperingen av filer kallas registreringspaket.
Om programmet är skrivbordsanpassat innehåller det ett registreringspaket som en del av installationspaketet. Om du är systemadministratör och skapar konfigurationsfilerna själv kan du skapa registreringspaketet själv.
Konfigurationsfilerna i registreringspaketet är inte tillgängliga på skrivbordet eftersom de inte finns i lämpliga sökvägsmappar. Processen att placera de här filerna på lämpliga adresser kallas registrering eller integrering av programmet.
På skrivbordet finns ett verktyg, dtappintegrate, som utför registreringen genom att skapa symboliskt länkade representationer av filerna i de korrekta sökvägsmapparna.
Många skrivbordsanpassade program kör dtappintegrate automatiskt under installationen. Om du är systemadministratör och integrerar ett befintligt program kan du köra det själv när du har skapat registreringspaketet.
När ett program är registrerat på ett systems skrivbord är programmet tillgängligt för alla användare i systemet. Om systemet är konfigurerat som en skrivbordsprogramserver blir programmet också tillgängligt i andra system i nätverket.
Verktyget dtappintegrate har ett kommandoradsalternativ som upphäver processen genom att bryta länkarna. Detta gör det enkelt att ta bort programmet från Programhanteraren så att det kan flyttas till en annan programserver eller uppdateras.
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 mappstrukturen under programroten.
Skapa funktionerna och datatyperna för programmet.
Se "Steg 4: Skapa funktionerna och datatyperna för programmet".
Placera hjälpfilerna i lämplig mapp.
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 programstandardfiler.
Det här avsnittet gäller 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 t ex etiketter, menyer och knappar
användarteckensnitt - används i redigerbara områden, t ex textfält
Varje tillhandahålls i sju storlekar, med etiketten 1 t o m 7 i dialogrutan Teckensnitt. Teckensnitten i Inställningar är anslutna till faktiska teckensnitt i systemet via 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 rotmapp 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 mapp som kallas programrot, eller programrot. Mappen programrot som används för skrivbordskonfigurationsfilerna kan vara samma mapp som programmets installations-programrot eller någon annan mapp.
Anta exempelvis att ett program är installerat under mappen /usr/BTE. Samma mapp kan användas som programrot för skrivbordskonfigurationsfilerna. Om du däremot integrerar ett befintligt program som inte är skrivbordsanpassat, skapar du en annan programrot-mapp för skrivbordet. 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 mapp som heter /etc/desktop_approots/BTE som skrivbordets programrot-mapp.
Ett exempel på hur du kan skapa registreringspaketmappar 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 funktions- och datatypsdefinitioner
Filer med ikonbilder
En programgruppsmapp och dess innehåll
Hjälpdatafiler och en konfigurationsfil för Frontpanelen (valfritt)
Registreringspaketet samlas under mappen på högsta nivån, kallad programroten eller programrot.
Huvudkategorierna av konfigurationsfält under mappen programrot/dt/appconfig visas i Tabell 5-1.
Tabell 5-1 Konfigurationsfält - huvudkategorier
Undermapp |
Innehåll |
---|---|
types |
Filer för funktions- och datatypsdefinitioner |
help |
Skrivbordshjälpfiler |
icons |
Bitmapp- och bildpunktsbeskrivningsfiler som används av programmets funktioner och datatyper |
appmanager |
Mappen och innehållet som skapar programgruppen |
Var och en av huvudkategorierna har undermappar för språkberoende filer. Filer på standardspråket placeras i mappen C
Skapa de här mapparna. Om du tillhandahåller språkberoende konfigurationsfiler skapar du en separat mapp för varje språk. Om du bara tillhandahåller ett språk placerar du filerna i mappen C.
programrot/dt/appconfig/types/språk
programrot/dt/appconfig/help/språk
programrot/dt/appconfig/icons/språk
programrot/dt/appconfig/appmanager/språk/proggruppnamn, där proggruppnamn är namnet på programgruppen.
Exempel: Figur 5-5 visar Programhanteraren med en grupp vars proggruppnamn är "Skrivbordsprogram".
Verktyget dtappintegrate fungerar bara på skrivbordskonfigurationsfilerna i mapparna types, help, icons och appmanager. Programmets binära körbara programstandardfiler och meddelandemappfiler administreras separat.
Ett exempel på hur du kan skapa funktionerna och datatyperna för ett program finns i Steg 4 i "Exempel på hur du kan skapa ett registreringspaket".
Funktioner och datatyper tillhandahåller ett användargränssnitt för programmet.
Funktioner 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 funktions- och datatypsdefinitioner:
En funktion som öppnar programmet.
En datatyp för datafilerna i programmet. Om du skapar en datatyp behöver du också skapa:
En Open-funktion för datafilerna i programmet
En Print-funktion för datafilerna i programmet
En datatyp för programgruppen (se "Konfigurera programgruppen så att den använder en unik ikon").
Du får en beskrivning av hur funktioner och datatyper används på skrivbordet i Kapitel 10.
Funktioner och datatyper definieras i konfigurationsfiler. Det enda namnkravet för filer som innehåller funktions- och datatypsdefinitioner är att de måste ha ett .dt-suffix. Du kan vilja namnge filen konventionsenligt till funktionsnamn.dt eller prognamn.dt.
Placera filer som innehåller funktioner och datatyper under programroten i mappen programrot/dt/appconfig/types/språk. Standardbeskrivningen för språk är C.
Du kan skapa funktions- och datatypsdefinitioner för ett program på två sätt:
Använd verktyget Skapa funktion.
Skapa funktion erbjuder 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 funktion för att skapa funktioner och datatyper för programmet.
Mer information om Skapa funktion finns i direkthjälpen och i Kapitel 11.
Öppna programgruppen Skrivbordsprogram och dubbelklicka på Skapa funktion.
Använd Skapa funktion för att skapa funktions- och datatypsdefinitioner för programmet och dess datatyp.
Konfigurationsfilen som skapas av Skapa funktion kommer att skrivas till Hemmapp/.dt/types/funktionsnamn.dt. Funktionsfilen (den körbara filen med samma namn som funktionen) placeras i din hemmapp.
Testa funktionen med hjälp av funktionsfilen som har skapats i din hemmapp.
Kopiera funktionsdefinitionsfilen Hemmapp/.dt/types/funktionsnamn.dt till mappen programrot/dt/appconfig/types/språk .
När programgruppsmappen har skapats (se "Steg 7: Skapa programgruppen") kopierar du funktionsfilen Hemmapp/funktionsnamn till mappen programrot/dt/appconfig/appmanager/språk/proggrupp.
Skapa en konfigurationsfil som innehåller funktions- och datatypsdefinitioner för programmet.
Funktions- och datatypsdefinitionsfilerna måste följa namnkonventionen namn.dt.
Du kan placera alla funktions- 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.
Funktions- 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 funktions- eller datatypsnamnet versal. Använd inte ett befintligt funktionsnamn 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 funktionsnamnet inkluderar du fältet LABEL i funktionsdefinitionen.
Mer information om hur du skapar funktioner 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 skrivbordets Help Developer's Kit), bör hjälpvolymens huvudfil (*.sdl) placeras i mappen programrot/appconfig/help/språk.
Grafik som används av hjälpfilerna placeras vanligen i undermappen graphics. Grafiken måste finnas i samma mapp relativt huvudhjälpvolymens (*.sdl)-fil 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 Help Developer's Kit.
Det finns två integrationsnivåer för en hjälpvolym:
När skrivbordshjälpen är fullt integrerad kan hjälpvolymen kommas åt från programmet - exempelvis 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 funktion komma åt hjälpen från programgruppen. I följande exempel visar funktionen hjälpvolymen som finns i hjälpens huvudfil MyApp.sdl:
ACTION OpenMyAppHelp { LABEL MyAppHelp ARG_COUNT 0 TYPE COMMAND WINDOW_TYPE NO_STDIO EXEC_STRING /usr/dt/bin/dthelpview -helpVolume MyApp DESCRIPTION Visar hjälp för programmet MyApp. }
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 funktioner, datatyper och programgrupper. Troligen vill du emellertid skapa unika ikoner för programmet.
Ikoner placeras i mappen programrot/dt/appconfig/icons/språk.
Programmet använder de här ikonbilderna på skrivbordet:
Funktionsikon Det här är ikonen som användaren dubbelklickar på för att starta programmet (funktionerna). Den refereras till i funktionens ICON-fält som startar programmet.
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. Den refereras till i datatypsdefinitionens ICON-fält.
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.
Programgruppikon. Det här är ikonen som representerar mappen på högsta nivån i Programhanteraren. Den refereras till i datatypsdefinitionens ICON-fält för programgruppen. (I "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 |
Bildpunktsstorlek |
Bitmappsnamn |
Bildpunktsmönster |
---|---|---|---|
mycket liten |
16 gånger 16 |
basnamn.t.bm |
basnamn.t.pm |
medelstor |
32 gånger 32 |
basnamn.m.bm |
basnamn.m.pm |
stor |
48 gånger 48 |
basnamn .l.bm |
basnamn.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 funktions- 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 mapp på högsta nivån i Programhanteraren (se Figur 5-1).
Du skapar programgruppen i tre steg:
Skapa programgruppsmappen i registreringspaketet.
Valfritt: konfigurera programgruppen så att den använder en unik ikon. Det innebär att du skapar datatypsdefinitionen för programgruppsmappen.
Skapa innehållet i programgruppen.
Om du vill skapa en programgrupp skapar du mapparna i registreringspaketet under appmanager, som det visas i Figur 5-7.
<programgruppnamn> i Figur 5-7 är namnet på programgruppen.
Namnet kan vara ett valfritt tillåtet fil- eller mappnamn. 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 mappen som visas på översta nivån i Programhanteraren.
Open- och Print-funktioner för datatypen.
Anta exempelvis att du vill skapa en programgrupp som heter Mediaverktyg. Följande datatypsdefinition, placerad i filen programrot/dt/appconfig/types/språk/namn.dt, anger en unik ikon som programgruppsikon.
DATA_ATTRIBUTES MediaverktygProggrupp { ACTIONS OpenInPlace,OpenNewView ICON Mediaverktyg DESCRIPTION Dubbelklicka för att öppna programgruppen \ Mediaverktyg }
DATA_CRITERIA MediaverktygProggruppKriteria1 { DATA_ATTRIBUTES_NAME MediaverktygProggrupp 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 valfri mapp som heter Mediaverktyg och som är en undermapp till en mapp som heter appmanager.
Figur 5-9 visar sambandet mellan programgruppnamnet och datatypsdefinitionen. Fältet PATH_PATTERN i datatypsdefinitionen ansluter en unik ikon till programgruppen.
Du bör också skapa en Open- och Print-funktion för programgruppens datatyp:
ACTION Open { ARG_TYPE MediaverktygProggrupp TYPE MAP MAP_ACTION OpenAppGroup }
ACTION Print { ARG_TYPE MediaverktygProggrupp TYPE MAP MAP_ACTION PrintAppGroup }
OpenAppGroup- och PrintAppGroup är inbyggda funktioner som finns definierade i /usr/dt/appconfig/types/språk/dtappman.dt.
Det viktigaste elementet i programgruppen är den ikon som startar programmet (en funktionsikon). Om programgruppen innehåller en uppsättning program finns det vanligen en ikon för varje program.
Förutom en eller flera funktionsikoner 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 Frontpanelkontroll
Programgruppen kan innehålla undermappar.
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. De här ikonerna kallas programikoner eller funktionsikoner eftersom de representerar en underliggande funktion.
Du skapar en funktionsikon genom att skapa en körbar fil med samma namn som funktionen den kommer att köra:
programrot/dt/appconfig/appmanager/proggrupp/funktionsnamn
Filen kallas en funktionsfil eftersom dess syfte är att skapa en visuell representation av den underliggande funktionen.
Om du t ex har skapat en funktion som heter BästaTextredigerare som kör programmet BästaTextredigerare, skapar du en körbar fil som heter BästaTextredigerare. I Filhanteraren och Programhanteraren använder funktionsfilen ikonbilden som anges i funktionsdefinitionen.
Figur 5-10 illustrerar förhållandet mellan funktionsdefinitionen, funktionsfilen och faktiska inmatningar 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 tillhandahålla en kontrolldefinition för Frontpanelen. Användaren kan lägga till programmet i Frontpanelen genom att släppa funktionsikonen på installationsikonen på en panelundermeny.
Du kan vilja skapa en konfigurationsfil för Frontpanelen som innehåller en kontrolldefinition för programmet, om du vill att användare ska kunna installera en kontroll som fungerar annorlunda än funktionsikonen - om exempelvis kontrollen övervakar en fil och ändrar utseende när den övervakade filen ändras.
Frontpanelens konfigurationsfiler placeras i mappen programrot/dt/appconfig/types/språk. Namnkonventionen är namn.fp.
Om du tillhandahåller en konfigurationsfil som innehåller 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å Frontpanelen 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 BästaTextredigerare. Om BästaTextredigerare redan körs flyttas fönstret högst upp i fönsterstacken på den aktuella arbetsytan.
CONTROL BästaTextredigerareKontroll { TYPE icon ICON BTEFPanel PUSH_RECALL True CLIENT_NAME BTEd PUSH_ACTION BTEditor DROP_ACTION BTEditor HELP_STRING Startar programmet BästaTextredigerare. }
Mer information om hur du skapar konfigurationsfiler för Frontpanelen 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.
Programregistrering skapar länkar mellan registreringspaketet och mapparna som finns i skrivbordets 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 programrot
där programrot är skrivbordets programrotsmapp. Mer information finns i direkthjälpen (man) till dtaction(1).
Öppna programgruppen Skrivbordsverktyg och dubbelklicka på Ladda om funktioner.
Kontrollera att programmet är korrekt registrerat:
dtappintegrate -s programrot [-t målsökväg ] [-l språk ] [-u]
-s programrot |
Nödvändig parameter som anger programroten under vilken programmet är installerat. |
-t målsökväg |
Valfri parameter. Som standard är systemadressen /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 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 adresserna där skrivbordet letar efter konfigurationsfiler.
dtappintegrate skapar symboliska länkar från funktions- och datatypsdefinitionsfilerna i registreringspaketet till den systemtäckande mappen längs funktionsdatabasens hjälpsökväg. Detta åstadkoms genom att länkar skapas från
programrot/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 den systemtäckande mappen längs hjälpsökvägen. Detta åstadkoms genom att länkar skapas från
programrot/dt/appconfig/help/språk/hjälpfil.sdl
till
/etc/dt/appconfig/icons/språk/hjälpfil.sdl.
dtappintegrate skapar symboliska länkar från ikonfilerna i registreringspaketet till den systemtäckande mappen längs ikonsökvägen. Detta åstadkoms genom att länkar skapas från
programrot/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 programgruppsmappen i registreringspaketet och den systemtäckande adressen längs programmets sökväg. Detta åstadkoms genom att länkar skapas från mappen
programrot/dt/appconfig/appmanager/språk/proggrupp
till
/etc/dt/appconfig/appmanager/språk/proggrupp.
Följande steg skapar ett registreringspaket för ett befintligt, icke skrivbordsanpassat program som heter BästaTextredigerare.
I exemplet görs följande antaganden om programmet BästaTextredigerare:
Det är installerat i mappen /usr/BTE.
Användarens sessionsspråk är standardspråket, C.
Kommandoraden som startar BästaTextredigerare är:
BTEd {filnamn]
där filnamn är namnet på datafilen som ska öppnas i det nya fönstret. BästaTextredigerare skapar ett eget fönster - d v s det körs inte i ett terminalemulatorfönster.
BästaTextredigerare skapar och använder två typer av datafiler:
Dokumentationsfiler. De använder namnkonventionen *.bte. BästaTextredigerare tillhandahåller en kommandorad för utskrift av sina .bte -datafiler. Syntax för det här kommandot är:
BTEPrint [-d mål] [-s] filnamn
där:
-d mål anger skrivare.
-s anger tyst utskrift. Programmets dialogruta för utskrift visas inte.
filnamn anger vilken fil som ska skrivas ut.
Mallfiler. De använder namnkonventionen *.tpl. Mallfiler kan inte skrivas ut.
De befintliga standardfilerna som inte är desktopprogram för BästaTextredigerare innehåller resurser för gränssnittsteckensnitt samt förgrunds- och bakgrundsfärger.
En hjälpvolym för BästaTextredigerare skapades med skrivbordets Help Developer's Kit. När hjälpvolymen skapades användes följande källfiler:
.../BTEHelp.htg .../graphics/BTE1.xwd .../graphics/BTE2.xwd
och genererade filen .../BTEHelp.sdl.
Följande stegvisa procedur registrerar BästaTextredigerare.
Ändra teckensnitt- och färgresurser.
I BästaTextredigerares app-defaults-fil tar du bort resurser som anger:
Teckensnitt för text
Färger för förgrund och bakgrund
Skapa programroten.
Skapa mappen:
/desktop_approots/BTE
Om du integrerar ett befintligt program bör du skapa programrotsmappen någon annanstans än på installationsplatsen för programmet. Annars kan konfigurationsfilerna som du skapar tas bort när du uppdaterar programmet.
Skapa registreringspaketets mappar.
Skapa följande mappar:
/desktop_approots/BTE/dt/appconfig/types/C /desktop_approots/BTE/dt/appconfig/help/C /desktop_approots/BTE/dt/appconfig/icons/C /desktop_approots/BTE/dt/appconfig/appmanager/C/BästaTextredigerare
Skapa funktionerna och datatyperna för programmet.
Skapa konfigurationsfilen för funktions- och datatypsdefinitionerna:
/desktop_approots/BTE/dt/appconfig/types/C/BTE.dt
Skapa funktionsdefinitionen för att köra BästaTextredigerare:
ACTION BTEditor { WINDOW_TYPE NO_STDIO ICON BTERun DESCRIPTION Dubbelklicka på den här ikonen eller släpp \ en BTE-datafil på den för att köra \ BästaTextredigerare. EXEC_STRING /usr/BTE/BTEd %Arg_1% }
Skapa datatypen för *.bte-filer:
DATA_ATTRIBUTES BTEDataFile { DESCRIPTION Datafil för BästaTextredigerare. ICON BTEData ACTIONS Open,Print } DATA_CRITERIA BTEDataFileCriteria1 { DATA_ATTRIBUTES_NAME BTEDataFile NAME_PATTERN *.bte MODE f }
Skapa datatypen för *.tpl-filer:
DATA_ATTRIBUTES BTETemplateFile { DESCRIPTION Mallfil för BästaTextredigerare. ICON BTETempl ACTIONS Open } DATA_CRITERIAL BTETemplateFileCriteria1 { DATA_ATTRIBUTES_NAME BTETemplateFile NAME_PATTERN *.tpl MODE f }
Skapa Open-funktionen för *.bte-filer.
ACTION Open { ARG_TYPE BTEDataFile TYPE MAP MAP_ACTION BTEditor }
Skapa Print-funktionen för *.bte-filer.
Här följer enkla Print-funktioner som skriver ut datafiler. De här funktionerna kräver ett värde för miljövariabeln LPDEST och ignorerar utskriftsalternativet -s. (Om LPDEST inte anges kan funktionen misslyckas.)
ACTION Print { ARG_TYPE BTEDataFile TYPE MAP MAP_ACTION BTEPrintData }
ACTION BTEPrintData { WINDOW_TYPE NO_STDIO EXEC_STRING BTEPrint -d $LPDEST %Arg_1% }
Här följer en annan version av funktionen BTEPrintData och ett medföljande skript. Tillsammans hanterar de situationer där LPDEST inte anges eller tyst utskrift begärs.
ACTION BTEPrintData { WINDOW_TYPE NO_STDIO EXEC_STRING /usr/BTE/bin/BTEenvprint \ %(File)Arg_1% }
Innehållet i skriptet /usr/BTE/bin/BTEenvprint är:
# BTEenvprint #!/bin/sh DEST="" SILENT="" if [ $LPDEST ] ; then DEST="-d $LPDEST" fi BTEPrint $DEST SILENT $1
Skapa Open-funktionen för *.tpl-filer:
ACTION Open { ARG_TYPE BTETemplateFile TYPE MAP MAP_ACTION BTEditor }
Skapa Print-funktionen för *.tpl-filer:
ACTION Print { ARG_TYPES BTETemplateFile TYPE MAP MAP_ACTION NoPrint }
NoPrint är en inbyggd funktion som visar en dialogruta där det står att filen inte går att skriva ut.
Placera hjälpfilerna i registreringspaketet.
Placera hjälpfilerna på följande adresser:
/desktop_approots/BTE/dt/appconfig/help/C/BTEHelp.sdl /desktop_approots/BTE/dt/appconfig/help/C/graphics/BTE1.xwd /desktop_approots/BTE/dt/appconfig/help/C/graphics/BTE2.xwd
Skapa filen
/desktop_approots/BTE/dt/appconfig/types/C/BTEhelp.dt.
Placera följande funktionsdefinition i filen:
ACTION BTEHelp { WINDOW_TYPE NO_STDIO EXEC_STRING /usr/dt/bin/dthelpview -helpVolume \ BTEHelp.sdl DESCRIPTION Öppnar BästaTextredigerares hjälpvolym. }
Skapa ikoner för programmet.
Använd Ikonredigeraren för att skapa ikonerna. Tabell 5-3 visar vilken storlek på rutnät som ska användas.
Tabell 5-3 Rutnät för olika storlekar på ikoner
Namn |
Storlek |
---|---|
basnamn.t.pm |
16 gånger 16 |
basnamn.m.pm |
32 gånger 32 |
basnamn.l.pm |
48 gånger 48 |
Skapa de här ikonfilerna i mappen /desktop_approots/BTE/dt/appconfig/icons/C:
Ikoner som representerar funktionen som kör programmet: BTERun.t.pm, BTERun.m.pm, BTERun.l.pm
Ikoner som representerar *.bte-filer: BTEData.t.pm, BTEData.m.pm,
Ikoner som representerar *.tpl-filer: BTETempl.t.pm, BTETempl.m.pm
Ikoner som representerar programgruppen (används i steg 7): BTEApp.t.pm, BTEApp.m.pm
Skapa mappen om du inte redan har gjort det.
/desktop_approots/BTE/dt/appconfig/appmanager/C/BästaTextredigerare
Det här steget är valfritt. Det skapar en unik ikon för programgruppen genom att skapa en datatyp och associerade funktioner för programgruppen. Om du utelämnar det här steget använder programgruppen standardikonen.
Lägg till följande datatyp- och funktionsdefinitioner i filen /desktop_approots/BTE/dt/appconfig/types/C/BTE.dt. Datatypen anger vilken ikon som ska användas av programgruppen BästaTextredigerare. Funktionerna ger samma Open- och Print-beteende som hos de inbyggda programgrupperna.
DATA_ATTRIBUTES BästaTextredigerareProggrupp { ACTIONS OpenInPlace,OpenNewView ICON BTEApp {
DATA_CRITERIA BästaTextredigerareProggruppVillkor { DATA_ATTRIBUTES_NAME BästaTextredigerareProggrupp MODE d PATH_PATTERN */appmanager/*/BästaTextredigerare }
ACTION Open { ARG_TYPE BästaTextredigerareProggrupp TYPE MAP MAP_ACTION OpenAppGroup }
ACTION Print { ARG_TYPE BästaTextredigerareProggrupp TYPE MAP MAP_ACTION PrintAppGroup }
Skapa en ikon i programgruppen som ska starta programmet. För att göra det skapar du filen:
/desktop_approots/BTE/dt/appconfig/appmanager/C \ /BästaTextredigerare/BTEditor
och gör filen körbar.
Skapa funktionsfilen i programgruppen som ska öppna hjälpvolymen. För att göra det skapar du filen:
/desktop_approots/BTE/dt/appconfig/appmanager/C \ /BästaTextredigerare/BTEHelp
och gör filen körbar.
Placera andra filer i programgruppen. Exempelvis "Readme"-filer, exempeldata och mallfiler.
Registrera programmet.
I ett terminalemuleringsfönster: