Indstillingsfiler |
forrige | KDE's interne funktioner | næste |
KDE bruger et enkelt tekstbaseret filnavn for alle indstillingsfiler. Det består af par med nøgler og værdier som er placerede i grupper. Alle indstillingsfiler i KDE bruger UTF-8 kodning til tekst udenfor ASCII-området.
Begyndelsen af en gruppe angives af et gruppenavn som er placeret i kantede parenteser. Alle indgange med nøgle og værdi som følger hører til gruppen. Gruppen slutter enten når en ny gruppe begynder, eller når filslutningen nås. Indgange længst oppe i filen som ikke har et gruppenavn forud, tilhører standardgruppen.
Følgende eksempel viser en indstillingsfil som består af to grupper. Den første gruppe indeholder nøglerne LargeCursor
og SingleClick
, den anden gruppe indeholder nøglerne Show hidden files
og Sort by
:
[KDE] LargeCursor=false SingleClick=true
[KFileDialog Settings] Show hidden files=false Sort by=Name
Indgange i en gruppe består af en nøgle og en værdi adskilt af med et lighedstegn. Nøglen kan indeholde mellemrum og kan følges af tilvalg inom hakparenteser. Delen efter likhetstecknet er indgangens værdi. Eventuella blanktegn som omger likhetstecknet ignoreres, ligesom eventuella blanktegn i slutningen. Mer kortfattat er formatet:
indgang
=værdi
Hvis det er meningen at en værdi skal indeholde et mellemrum i begyndelsen og slutningen kan det opnås ved at bruge et baglæns skråstreg fulgt af et “s”.
Der er flere andre baglæns skråstreg-koder. Her er en fuldstændig liste:
\s kan bruges som mellemrum
\t kan bruges til at inkludere et tabulatortegn
\r for et returtegn
\n for et nylinjetegn
\\ for at inkludere selve den baglæns skråstreg
I følgende eksempel begynder værdien for indgangen Caption
med to mellemrum mens indgangen Description
indeholder tre linjer tekst. Nye linjer i baglæns skråstreg notation bruges til at skille de tre linjer ad.
[Preview Image] Caption=\s Min overskrift Description=Dette er en\nmeget lang\nbeskrivelse.
Tomme linjer i indstillingsfiler ignoreres, ligesom linjer som begynder med et nummertegn (“#”). Nummertegnet kan bruges til at tilføje kommentarer i indstillingsfiler. Det bør noteres at når et KDE-program opdaterer en indstillingsfil, bevares kommentarerne ikke.
Det kan være flere indstillingsfiler med samme navn i undermappen share/config
i forskellige mappetræer i KDE. I dette tilfælde kombineres informationen i alle disse indstillingsfiler nøgle for nøgle. Hvis samme nøgle i en vis gruppe er defineret på mere end et sted, bruges nøgleværdien som blev læst fra mappetræet med højest prioritet. Indstillingsfiler under $
har altid højest prioritet. Hvis en nøgle i en vis gruppe defineres flere gange i en enkelt fil, bruges den sidste indgangs værdi.KDEHOME
Hvis $
indeholder: HOME
/.kde/share/config/foobar
[MyGroup] Color=red Shape=circleog
/etc/opt/kde3/share/config/foobar
indeholder [MyGroup] Color=blue Position=10,10bliver resultatet:
[MyGroup] Color=red Shape=circle Position=10,10
Hvis $
indeholder HOME
/.kde/share/config/foobar
[MyGroup] Color=red Shape=circle [MyGroup] Color=greenog
/opt/kde_staff/share/config/foobar
indeholder [MyGroup] Color=purple Position=20,20og
/etc/opt/kde3/share/config/foobar
indeholder [MyGroup] Color=blue Position=10,10bliver resultatet:
[MyGroup] Color=green Shape=circle Position=20,20
For at hindre brugere i at sætte standardindstillinger ud af kraft, kan indstillinger markeres som uforanderlige. Indstillinger kan gøres uforanderlige individuelt, pr gruppe eller pr fil. En individuel indgang kan låses ved at tilføje [$i]
efter nøglen, f.eks.:
Color[$i]=blue
En gruppe med indgange kan låses ved at placere [$i]
efter gruppenavnet, f.eks.:
[MyGroup][$i]
For at låse hele filen, indledes filen med [$i]
på en enkelt linje, dvs.:
[$i]
Hvis $
indeholder: HOME
/.kde/share/config/foobar
[MyGroup] Color=red Shape=circleog
/etc/opt/kde3/share/config/foobar
indeholder: [MyGroup][$i] Color=blue Position=10,10bliver resultatet:
[MyGroup] Color=blue Position=10,10
Hvis $
indeholder: HOME
/.kde/share/config/foobar
[MyGroup] Color=red Shape=circleog
/opt/kde_staff/share/config/foobar
indeholder [MyGroup] Color=purple Shape=rectangleog
/etc/opt/kde3/share/config/foobar
indeholder [MyGroup][$i] Color=blue Position=10,10bliver resultatet:
[MyGroup] Color=purple Shape=rectangle Position=10,10
Såkaldt “skalekspansion” kan bruges for at sørge for mere dynamiske standardværdier. Med skalekspansion kan værdien for en indstillingsnøgle skabes fra værdien af en miljøvariabel eller fra udskriften af et skalkommando. For at aktivere skalekspansion for en indstillingsindgang, skal nøglen følges af [$e]. Normalt skrives den ekspanderede form til brugerens indstillingsfil efter første brug. For at forhindre dette, anbefales at låse indstillingsindgangen ved at bruge [$ie]. Brugeren kan så naturligvis ikke ændre den så.
I følgende eksempel afgøres værdien på Host
med uddata fra programmet hostname. Denne indstilling er også låst for at sikre at værdien altid afgøres dynamisk.
Værdien af indgangen Email
afgøres ved at udfylde værdierne for miljøvariablerne $USER
og $HOST
. Når anna
logger ind på annas_maskine
resulterer det i en værdi som er lig med anna@annas_maskine
. Indstillingen er ikke låst.
[Mail Settings] Host[$ie]=$(hostname) Email[$e]=${USER}@${HOST}
De fleste indstillingsindgange kan indekseres med en sprogkode. I dette tilfælde bruges sproget som brugeren har valgt at bruge på desktoppen til at slå nøglens værdi op. Hvis standardsproget (amerikansk engelsk) er valgt, eller hvis der ikke er indeks som svarer til det valgte sprog, bruges nøgleindgangen uden indeks.
I følgende eksempel afhænger værdien af indgangen Caption
af sproget. Hvis brugeren har valgt fransk som sprog (sprogkode fr
) bliver indgangens værdi “Ma Légende”. I alle øvrige tilfælde bruges værdien “My Caption”.
[Preview Image] Caption=My Caption Caption[fr]=Ma Légende
I følgende eksempel afhænger værdien af indgangen Caption
af sproget. Hvis brugeren har valgt fransk som sprog (sprogkode fr
) bliver indgangens værdi “Ma Légende”. I alle øvrige tilfælde bruges værdien “My Caption”.
[Preview Image] Caption=My Caption Caption[fr]=Ma Légende
I almindelighed er indgangene som kan findes i en indstillingsfil ikke dokumenterede. Fra KDE 3.2 er dette begyndt at ændres. Der er filer i $
som sørger for en formel beskrivelse af de mulige indgange i en indstillingsfil. De bruges af den nye indstillingseditor i KDE når de er tilgængelige.KDEDIR
/share/config.kcfg
Her er et eksempel på en XML-indstillingsfil:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE kcfg SYSTEM "http://www.kde.org/standards/kcfg/1.0/kcfg.dtd">
<kcfg>
<kcfgfile name="korganizerrc"/>
<group name="General">
<entry type="Bool" key="Auto Save">
<label>Enable automatic saving of calendar</label>
<default>true</default>
</entry>
<entry type="Int" key="Auto Save Interval">
<default>10</default>
</entry>
</group>
</kcfg>
Den har samme effekt som:
[General] Auto Save=false Auto Save Interval=25
forrige | hjem | næste |
Værtsspecifikke mapper | op | KDE's startsekvens |