Common Desktop Environment: Användarhandbok för systemadministratörer

Kapitel 16 Anpassa arbetsytehanteraren

I följande avsnitt beskrivs hur du anpassar skrivbordets arbetsytehanterare.

Arbetsytehanteraren är en fönsterhanterare som finns på skrivbordet. På samma sätt som andra fönsterhanterare hanterar den följande:

Arbetsytehanteraren hanterar dessutom följande skrivbordskomponenter:

Flera av dessa komponenter kan ändras med Inställningar. Med Inställningar går det snabbt och lätt att redigera sådant som du behöver ändra ofta. Övriga resurser måste anges manuellt.

Arbetsytehanteraren är dtwm. Den baseras på fönsterhanteraren OSF/Motif.

Mer information om hur du anger resurser finns iFailed Cross Reference Format.

Arbetsytehanterarens konfigurationsfiler

Arbetsytehanteraren hämtar information om Fönster-menyerna, arbetsytemenyerna samt knapp- och tangentkopplingar från en konfigurationsfil.

Den använder någon av följande filer:

Arbetsytehanteraren söker efter en konfigurationsfil enligt ovan nämnda ordning och använder den första som den hittar.

För användare som använder fler än ett språk under en session, kan en egen språkberoende konfigurationsfil med namnet Hemmapp*.dtspråk/dtwrmc skapas. Den prioriteras över Hemmapp/.dt/dtwmrc.

Skapa och ändra en egen konfigurationsfil

Den egna konfigurationsfilen för Arbetsytehanteraren är Hemmapp/.dt/dtwmrc. Om den här filen finns är det den som används.

  1. Dubbelklicka på Redigera Dtwmrc i tillbehörsgruppen Skrivbordsverktyg.

    Om det redan finns en egen dtwmrc-fil hämtas den till redigeraren. Annars kopieras sys.dtwmrc till Hemmapp/.dt/dtwmrc, som sedan hämtas till redigeraren.

  2. Redigera filen.

  3. Avsluta redigeraren.

    Filen sparas som din egen dtwmrc, oavsett ursprungskälla.

Skapa en systemtäckande konfigurationsfil

Den systemtäckande konfigurationsfilen för Arbetsytehanteraren är /etc/dt/config/språk/sys.dtwmrc.

    Kopiera /usr/dt/config/språk/sys.dtwmrc till /etc/dt/config/språk/sys.dtwmrc.


Obs!

Den här filen används inte om Hemmapp/.dt/dtwmrc finns.


Inkludera andra filer

    Använd syntaxen:

	include
 	{
   	   sökväg
  	   sökväg
 	  ...  	}

Följande rader inkluderar t ex filen /users/ellen/mymenu:

include
 	{
   	 /users/ellen/mymenu
 	}

Använd programsatserna Include när du vill skaffa ytterligare funktionalitet utan att hela konfigurationsfilen behöver kopieras. En användare vill kanske skapa en ny tangentkoppling utan att administrera hela konfigurationsfilen. Användaren skapar då filen Hemmapp/.dt/dtwmrc med följande innehåll:

include
 {
  /etc/dt/config/C/sys.dtwmrc
 }
Keys DtKeyBindings
 {    Alt<Key>F5 root  f.menu  Applications
 }
Menu Applications
 {    "GraphicsApp" f.exec "/usr/bin/GraphicsApp/GApp"
   ...
 }

Starta om Arbetsytehanteraren

Arbetsytehanteraren måste startas om för att ändringarna i konfigurationsfilen ska träda i kraft.

    Välj Starta om arbetsytehanteraren på Arbetsyta-menyn (klicka på tredje musknappen när pekaren befinner sig över bakgrunden).

Anpassa arbetsytor

De flesta anpassningar av arbetsytor, t ex ändring av namn och antalet arbetsytor, kan göras av användaren med hjälp av skrivbordets gränssnitt. Arbetsytehanteraren omfattar dock resurser för att ange systemtäckande standardvärden.

Ändra antalet systemtäckande arbetsytor

Standardskrivbordskonfigurationen omfattar fyra arbetsytor. Användaren kan lägga till och ta bort arbetsytor med hjälp av menyerna som hör till arbetsyteomkopplaren.

Filen /usr/dt/app-defaults/C/Dtwm ställer in workspaceCount-resursen med följande antal arbetsytor:

Dtwm*0*workspaceCount: 4
	Dtwm*workspaceCount:  1

Flera arbetsytor anges på skärm 0. Enstaka arbetsytor anges på övriga skärmar.

Du kan skapa filen (eller redigera om den befintliga) /etc/dt/config/C/sys.resources för att ändra det förvalda antalet arbetsytor för alla nya användare på en arbetstation.

    Använd resursen 0*workspaceCount om du vill ställa in den förvalda systemtäckande inställningen på den primära skärmen:

    Dtwm*0*workspaceCount: antal
    

Följande resurs ställer in antalet systemtäckande arbetsytor på den primära skärmen till sex:

Dtwm*0*workspaceCount: 6

Mer information om hur du ställer in resurser i arbetsytehanteraren finns i Failed Cross Reference Format.

Följande resurs ställer in antalet arbetsytor till sex:

	Dtwm*workspaceCount: 6

Namnge systemtäckande arbetsytor

Arbetsytor numreras internt med numreringskonventionen wsn, där n är 0, 1, 2, osv. Standardantalet på fyra arbetsytor numreras internt med ws0 till ws3.

    Använd resursen title om du vill ändra namnet på en angiven arbetsyta:

	Dtwm*wsn: namn

Mer information om hur du ställer in arbetsytehanterarens resurser finns i Failed Cross Reference Format.

Följande resurser kopplar de fyra förvalda arbetsytorna till de angivna namnen:

Dtwm*ws0*title:  Anna
Dtwm*ws1*title:  Bo
Dtwm*ws2*title   Julia
Dtwm*ws3*title   Emma

Skapa ytterligare bakgrunder

  1. Skapa bakgrundsbilderna. De kan vara i bitmapps- eller pixmappsformat.

  2. Placera bakgrunden i någon av följande mappar. (Du kanske först måste skapa mappen.)

    • Systemtäckande bakgrunder: /etc/dt/backdrops

    • Egna bakgrunder: Hemmapp/.dt/backdrops

  3. Välj Starta om arbetsytehanteraren på Arbetsyta-menyn.

    Systemtäckande och egna bakgrunder läggs till de inbyggda bakgrunderna i /usr/dt/backdrops.

    Du kan ersätta en befintlig inbyggd bakgrund genom att skapa en egen eller systemtäckande bakgrund med samma namn.

Ersätta bakgrunden med en grafisk bild

Bakgrunder läggs som skikt ovanpå skärmens rotfönster. I dialogrutan Inställningar - Bakgrund finns inställningen NoBackdrop som gör bakgrunden genomskinlig.

Det finns bara ett rotfönster bakom alla arbetsytebakgrunder. Därför finns en grafisk bild som har placerats på rotfönstret kvar för alla arbetsytor. Du kan ange vilka arbetsytor som ska täcka rotfönstret med en bakgrund. Bilden som visas när NoBackdrop är aktivt är dock densamma för alla arbetsytor.

  1. Skapa den grafiska bilden.

    Bilden måste vara i ett format som det finns ett verktyg till för att den ska kunna visas i rotfönstret. Om du t ex tänker använda xsetroot, måste du skapa en bitmappsfil.

  2. Skapa den körbara filen Hemmapp/.dt/sessions/sessionetc.

    Filen sessionetc körs varje gång som användaren loggar in.

  3. Placera kommandot som visar bilden i filen sessionetc.

    Följande kommando visar rotfönstret sida vid sida med angiven bitmappsfil:

    	xsetroot -bitmap /users/ellen/.dt/icons/root.bm

Arbetsytehanterarens menyer

Arbetsytehanteraren har tre standardmenyer:

Arbetsyta-menyn - kallas även rotmenyn. Den visas när du trycker på musknapp 3 med pekaren placerad över bakgrunden. Menyn är kopplad till musknappen med en knappkoppling.

Fönster-menyn - menyn visas när användaren trycker ned musknapp 1 eller musknapp 3 med pekaren på fönstermenyknappen (i övre vänstra hörnet i fönsterramen). Menyn är kopplad till knappen med windowMenu-resursen.

Frontpanelmenyn - menyn visas när användaren trycker ned musknapp 1 eller musknapp 3 med pekaren på frontpanelknappen.

Arbetsytehanterarens menysyntax

Arbetsytehanterarens menyer har följande syntax:

Menu Menynamn  
 {
 	val1 [snabbtangent] [kortkommando] funktion [argument]
 	val2 [snabbtangent] [kortkommando] funktion [argument]
 	...
 }

där:

val är den text eller bitmapp som visas på menyn. Om texten innehåller blanksteg innesluter du texten med citattecken. För bitmappar använder du syntaxen @/sökväg.

snabbtangent är ett tecken som fungerar som en tangentbordsgenväg när menyn visas. Det anges som _tecken.

kortkommando - en tangentbordsgenväg som är aktiverad även om inte menyn visas. Kortkommandon har syntaxen styrtangent<Key> Tangentnamn, där styrtangenten är Ctrl+_ , Shift, Alt (Extend char) eller Lock. Om du vill ha en lista över alla möjliga tangentnamn undersöker du filen keysymdef.h i din "X11 include"-mapp.

funktion - den funktion som ska utföras när markeringen görs. Se sidan (4) i dtwmrc om du vill se en lista med funktioner.

argument - funktionsargument. Se sidan (4) i dtwmrc för mer utförlig information.

Följande objekt med etiketten Återställ återställer fönstret. När menyn visas kan du återställa fönstret genom att trycka på "R". Du kan även återställa fönstret genom att trycka på Extend char F5.

Restore   _R   Alt<Key> F5   f.normalize

Obs!

Fullständig information om Arbetsytehanterarens menysyntax hittar du i dtwmrc(4) i direkthjälpen.


Anpassa Arbetsyta-menyn

  1. Öppna lämplig fil för redigering:

  2. Redigera beskrivningen av Arbetsyta-menyn.

    Den förvalda Arbetsyta-menyn heter DtRootMenu.

    	Menu DtRootMenu
     	{
       	  "Workspace Menu"                    f.title
       	  "Shuffle Up"                        f.circle_up
       	  "Shuffle Down"                      f.circle_down
       	  ...
     	}

Skapa en ny Arbetsyta-meny

  1. Öppna lämplig fil för redigering:

  2. Skapa den nya menyn:

    	Menu menynamn
     	{
     	        ...
     	}

    Se "Arbetsytehanterarens menysyntax".

  3. Skapa eller redigera knappkopplingarna för att visa den nya menyn.

    Om menyn ersätter den befintliga menyn redigerar du knappkopplingen som visar Arbetsyta-menyn.

    	<Btn3Down> root  f.menu  menynamn
    

    Om menyn är en tilläggsmeny skapar du en ny musknappskoppling. Den följande knappkopplingen visar menyn när Skift och musknapp 3 hålls ned över bakgrunden:

    	Shift<Btn3Down> root  f.menu  menynamn
    
  4. Välj Starta om arbetsytehanteraren på Arbetsyta-menyn.

Skapa en ny Fönster-meny


Obs!

Fönster-menyn är inbyggd i Arbetsytehanteraren och anpassas normalt inte. Om du vill att fönstrens uppträdande i de olika programmen ska vara konstant bör du inte ändra inställningarna på fönster-menyn.


  1. Öppna en lämplig fil för redigering:

  2. Skapa den nya menyn:

    	Menu menynamn
     	{
     	        ...
     	}
  3. Använd resursen windowMenu för att ange den nya menyn:

    	Dtwm*windowMenu: menynamn
    
  4. Välj Starta om arbetsytehanteraren på Arbetsyta-menyn.

Anpassa knappkopplingar

En knappkoppling kopplar en musknapp, eventuellt tillsammans med en ändringstangent från tangentbordet, till en funktion i Fönsterhanteraren. Knappkopplingar gäller i alla arbetsytor.

Skrivbordets standardknappkopplingar definieras i arbetsytans konfigurationsfil i en knappkopplingsuppsättning med namnet DtButtonBindings:

Buttons DtButtonBindings
 {
   ...
 }

Syntax för knappkoppling

Syntaxen för knappkoppling är:

Buttons ButtonBindingSetName
 {
     [modifier]<button_nameMouse_action>   sammanhang  funktion  [argument]
     [modifier]<button_nameMouse_action>   sammanhang  funktion  [argument]

där:

button_name - Btn1 är Vänster musknapp Btn2 är Mittenknappen (3-knappsmus) eller båda knapparna (2-knappsmus) Btn3 - höger musknapp Btn4 är Knapparna 1 och 2 tillsammans på en 3-knappsmus Btn5 är Knapparna 2 och 3 tillsammans på en 3-knappsmus

styrtangent - Ctrl, Shift, Alt, Lock

mouse_action - Down - Hålla ned en mus; knapp Up - Släppa en musknapp; Click - Trycka och släppa en musknapp; Click2 - Dubbelklicka med en musknapp; Drag - Dra musen medan du håller ned musknappen

sammanhang - indikerar pekarens nödvändiga placering vid koppling. Dela upp innehållet med "|" tecknet.

root - arbetsytefönstret; window - Klientfönster eller fönsterram; frame - fönsterram, exkludera innehållet; icon - Ikon; -title - Titelfältet; app - Klientfönster (utan ram)

funktion - en av fönsterhanterarens funktioner. I dtwmrc(4) i direkthjälpen hittar du en lista med giltiga funktioner.

argument - de funktionsargument i Fönsterhanteraren som krävs. I dtwmrc(4) i direkthjälpen hittar du ytterligare detaljer.

Följande rad visar menyn som beskrivs i DtRootMenu när musknapp 3 trycks ned och pekaren är i arbetsytefönstret (men inte i ett klientfönster).

<Btn3Down>      root     f.menu     DtRootMenu

Obs!

Fullständig information om syntax för knappkopplingar hittar du i dtwmrc(4) i direkthjälpen.


Lägga till knappkopplingar

  1. Öppna lämplig fil för redigering:

  2. Lägga till knappkopplingen i DtButtonBindings-definitionen

    Koppla inte samma knapp till olika funktioner och koppla inte fler än en funktion till samma knapp eller sammanhang.

  3. Välj Starta om arbetsytehanteraren på Arbetsyta-menyn.

Skapa nya knappkopplingsuppsättningar

  1. Öppna lämplig fil för redigering:

  2. Skapa en ny knappkopplingsuppsättning. Se "Syntax för knappkoppling".

  3. Ställ in buttonBindings-resursen till det nya namnet:

    	Dtwm*buttonBindings: ButtonBindingsSetName 
    
  4. Välj Starta om arbetsytehanteraren på Arbetsyta-menyn.


    Obs!

    De nya knappkopplingarna ersätter de befintliga. Kopiera de knappkopplingar som du vill behålla från DtButtonBindings.


Anpassa tangentkopplingar

En tangentkoppling kopplar olika kombinationer av tangentnedtryckningar till funktioner i Arbetsytehanteraren. Tangentkopplingar gäller för alla arbetsytor.


Obs!

Använd inte en vanlig tangentkombination som tangentkoppling. Om du kopplar Skift-A till en funktion förlorar du möjligheten att skriva "A".


Förinställda tangentkopplingar för skrivbordet

De förinställda tangentkopplingarna anges i konfigurationsfilen för Arbetsytehanteraren i en tangentkopplingsuppsättning som heter DtKeyBindings:

Keys DtKeyBindings
 {
  ...
 }

Syntax för tangentkopplingar

Syntaxen för tangentkopplingar är:

Keys KeyBindingSetName
 {
    [Styrtangenter]<Key>key_name   context   function  [argument]
    [Styrtangenter]<Key>key_name   context   function  [argument]
    ...    
 }

där:

Styrtangenter är Ctrl, Shift. Altoch Lock. Flera styrtangenter är tillåtna, dela av dem med blanksteg.

tangent_namn är tangenten som funktionen kopplas till. Tangenter med bokstäver eller siffror har oftast sitt tangent_namn skrivet på tangenten. Tangenten "a" heter till exempel "a" och "2"-tangenten heter "2". "Tab"-tangenten heter "Tab". "F3"-tangenten heter "F3".

För övriga tangenter skrivs namnet oftast ut, till exempel plus för "+"-tangenten. Filen keysymdef.h, som finns i en systemberoende mapp, innehåller mer information om tangentnamn.

sammanhang - det element som måste vara kopplat till ett tangentbordsfokus för att operationen ska fungera. De kan slås ihop om kopplingen ska gälla i mer än ett sammanhang. Olika sammanhang delas upp med "|" tecknet.

root - Arbetsytebakgrund; window - Klientfönster; icon - Ikon

funktion - en funktion i Fönsterhanteraren. I dtwmrc(4) i direkthjälpen hittar du en lista med giltiga funktioner.

argument - de funktionsargument i fönsterhanteraren som krävs för operationen. Se dtwmrc(4) i direkthjälpen för ytterligare detaljer.

Följande tangentkoppling gör att användaren kan byta tangentbordsfokus till nästa transienta fönster i ett program genom att trycka Alt+F6.

Alt<Key>F6     window     f.next_key     transient

Obs!

Om du behöver mer information om syntax för tangentkopplingar läser du dtwmrc(4) i direkthjälpen.


Skapa en anpassad tangentkopplingsuppsättning

  1. Öppna en lämplig fil för redigering:

  2. Skapa en ny tangentkopplingsuppsättning med en unik KeyBindingSetName. Använd skrivbordets förinställda tangentkopplingsuppsättning, DtKeyBindings, som mall.

  3. Ställ in keyBindings-resursen med det nya namnet:

    	Dtwm*keyBindings: KeyBindingSetName 
    
  4. Välj Starta om arbetsytehanteraren på Arbetsyta-menyn.


    Obs!

    De nya tangentkopplingarna ersätter de befintliga tangentkopplingarna. Kopiera de tangentkopplingar som du vill behålla från DtKeyBindings till din nya uppsättning.


Växla mellan de förinställda och egna uppsättningarna

Växla mellan den förinställda uppsättningen OSF/Motif 1.2 och uppsättningen CDE för skrivbordsfönster:

  1. Tryck på Alt+Shift+Ctrl+!

  2. Klicka på OK i dialogrutan.

    Om du växlar till den förinställda metoden tas Frontpanelen samt de anpassade tangent- och knappkopplingarna bort.