Gsettings: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
 
(34 intermediate revisions by 2 users not shown)
Line 1: Line 1:
GSettings - on kõrgetasemeline rakendusliides, rakenduste jaoks.
==Sissejuhatus==


==Kirjeldus==
Gsettings classi abil saame muuta aplikatsioonide seadeid. Seadete lugemine Gsettinguga on väga kiire, nagu ka kirjutamine.
Kui teha Gsettingu instants, tuleb kõigepealt täpsustada schema mis kirjeldab seadete võtmeid, nende tüüpe, vaikimisiväärtusi ja muud infot.
Tavaliselt schema, mis on loetelu saadaval olevatest seadetest aplikatsioonile, omab fikseeritud teed(asukohta) mis ütleb kus globaalsel tasemel seadeid hoitakse.
Schemad saavad olla ka ümber paigutatud, ehk mitte kindla asukohaga.
Võtme nimed on piiratud väikeste tähtedena, numbrite ja '-'-ga. Nimed peavad algama väikese tähega, ei või sisaldada numbreid ja ei tohi lõppeda '-'ga


GSettings on rakendusliides, mis võimaldab mugavalt salvestada ja väljavõtta rakendus seadeid.  
==Näited com.ubuntu.update-notifier ja org.gnome.desktop.background schemadega ubuntu 11.04 peal==


Loeb ja kirjutab, ning võib pidada mitte-blokeeruvaks. Lugemis seaded GSettings-us on väga kiire: on ligikaudu samas suurusjärgus (kuid aeglasem) 'GHashTable' otsing. Kirjutamine seaded on ka väga kiire ajas tagasi oma taotluse, kuid võib olla väga kallis, muud niidid ja muud protsessid. Paljud seaded taustaprogrammid (sh dconf) on laisk lähtestamine mis tähendab ühises asjas kasutaja kasutades oma arvuti muutmata mingeid seadeid palju tööd saab vältida. Sest dconf, D-Busi teenust ei pea isegi alustada sel juhul. Sel põhjusel, siis peaks ainult kunagi muuta GSettings võtmed vastuseks selgesõnalise kasutaja tegevust. Erilist tähelepanu tuleb pöörata, et tagada muudatusi ei tehtud käivitamise ajal - näiteks määramisel algväärtus soodustuste vidinad. Sisseehitatud g_settings_bind () funktsioon on ettevaatlikud, et mitte kirjutada seaded vastuseks teatama signaalide tõttu muudatusi, et see annab vidinad.
et näha kogu installitud schemade nimekirja:
gsettings list-schemas
<pre>
org.gnome.desktop.session
org.gnome.totem.plugins.pythonconsole
org.compiz.integrated
com.ubuntu.update-notifier
org.gnome.gnome-system-monitor.proctree
org.gnome.nautilus
org.freedesktop.Geoclue</pre>


Kui loote GSettings Näiteks sul määrata skeemi, mis kirjeldab võtmed oma seadeid ja nende tüübid ja vaikeväärtused, samuti mõned muud andmed.
et näha võtmeid, mida need schemad sisaldavad:
gsettings list-keys com.ubuntu.update-notifier
<pre>
auto-launch
end-system-uids
hide-reboot-notification
no-show-notifications
regular-auto-launch-interval
release-check-time
show-apport-crashes</pre>


Tavaliselt skeem on fikseeritud tee, mis määrab, kuhu seaded salvestatakse kontseptuaalse maailma puust seaded. Kuid skeeme saab ka "relocatable", st ei ole varustatud fikseeritud tee. See on kasulik näiteks kui skeem kirjeldab "konto", ja sa tahad olla võimalik salvestada suvalise arvu kontosid.
et näha võtme väärtust:


Erinevalt teistest konfiguratsiooni süsteemid (nagu GConf), GSettings ei piira võtmed põhitüüpi nagu stringid ja numbrid. GSettings salvestab väärtused nagu GVariant, ja võimaldab igal GVariantType võtmeid. Key nimed on piiratud väiketähed, numbrid ja "-". Lisaks nimed peavad algama väiketäheks, ei tohi lõppeda '-', ja ei tohi sisaldada järjestikusel kriipsud.
<pre>gsettings get com.ubuntu.update-notifier auto-launch 'true'</pre>


Sarnaselt GConf, vaikeväärtusi GSettings skeeme saab lokaliseerida, kuid lokaliseeritud väärtused salvestatakse gettext kataloogid ja vaatas üles koos domeeni, mis on kirjas gettext-domeeni atribuut <schemalist> või <schema> elemendid ja kategooria, mis on täpsustatud l10n atribuut <key> element.
et muuta võtme väärtust:
<pre>gsettings set com.ubuntu.update-notifier auto-launch 'false'</pre>


GSettings kasutab skeemid kompaktne kahendvormis, mis on loodud libe-compile-skeeme kasulikkust. Sisend on skeemi kirjeldus XML-vormingus, mida võib kirjeldada järgmise DTD:
et taastada võtme väärtus tagasi vaikimisi väärtuseks:
<pre>gsettings reset com.ubuntu.update-notifier auto-launch</pre>


vaatame org.gnome.desktop.background schema võtmeid:
gsettings list-keys org.gnome.desktop.background
<pre>
color-shading-type
draw-background
picture-opacity
picture-options
picture-uri
primary-color
secondary-color
show-desktop-icons</pre>


küsime praeguse tagataustapildi URI võtme väärtust:
<pre>gsettings get org.gnome.desktop.background picture-uri
'file:///usr/share/backgrounds/warty-final-ubuntu.png'</pre>


muudame asukohta kust võetakse taustapilt:
<pre>gsettings set org.gnome.desktop.background picture-uri 'file:///home/kasutaja/Pictures/pilt.jpg' </pre>


kui veateadet ei tule, oli järelikult seadete muutmine edukas.


==Kokkuvõte==


Gsettings on suhteliselt lihtne, kuid alati mitte kõige otstarbekam lahendus seadeid muuta, näiteks taustapilt laetakse uuesti alles järgmise startupiga.


==Kasutatud kirjandus==


https://developer.gnome.org/gio/2.33/GSettings.html
http://www.burtonini.com/blog/computers/gsettings-override-2011-07-04-15-45
http://www.linuxfromscratch.org/blfs/view/svn/gnome/gsettings-desktop-schemas.html


==Autor==


 
Tammo Oolup A32
 
 
 
 
 
 
 
 
 
 
Marek Lepla A32


[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]

Latest revision as of 14:31, 3 January 2014

Sissejuhatus

Gsettings classi abil saame muuta aplikatsioonide seadeid. Seadete lugemine Gsettinguga on väga kiire, nagu ka kirjutamine. Kui teha Gsettingu instants, tuleb kõigepealt täpsustada schema mis kirjeldab seadete võtmeid, nende tüüpe, vaikimisiväärtusi ja muud infot. Tavaliselt schema, mis on loetelu saadaval olevatest seadetest aplikatsioonile, omab fikseeritud teed(asukohta) mis ütleb kus globaalsel tasemel seadeid hoitakse. Schemad saavad olla ka ümber paigutatud, ehk mitte kindla asukohaga. Võtme nimed on piiratud väikeste tähtedena, numbrite ja '-'-ga. Nimed peavad algama väikese tähega, ei või sisaldada numbreid ja ei tohi lõppeda '-'ga

Näited com.ubuntu.update-notifier ja org.gnome.desktop.background schemadega ubuntu 11.04 peal

et näha kogu installitud schemade nimekirja: gsettings list-schemas

org.gnome.desktop.session
org.gnome.totem.plugins.pythonconsole
org.compiz.integrated
com.ubuntu.update-notifier
org.gnome.gnome-system-monitor.proctree
org.gnome.nautilus
org.freedesktop.Geoclue

et näha võtmeid, mida need schemad sisaldavad: gsettings list-keys com.ubuntu.update-notifier

auto-launch
end-system-uids
hide-reboot-notification
no-show-notifications
regular-auto-launch-interval
release-check-time
show-apport-crashes

et näha võtme väärtust:

gsettings get com.ubuntu.update-notifier auto-launch 'true'

et muuta võtme väärtust:

gsettings set com.ubuntu.update-notifier auto-launch 'false'

et taastada võtme väärtus tagasi vaikimisi väärtuseks:

gsettings reset com.ubuntu.update-notifier auto-launch

vaatame org.gnome.desktop.background schema võtmeid: gsettings list-keys org.gnome.desktop.background

color-shading-type
draw-background
picture-opacity
picture-options
picture-uri
primary-color
secondary-color
show-desktop-icons

küsime praeguse tagataustapildi URI võtme väärtust:

gsettings get org.gnome.desktop.background picture-uri
'file:///usr/share/backgrounds/warty-final-ubuntu.png'

muudame asukohta kust võetakse taustapilt:

gsettings set org.gnome.desktop.background picture-uri 'file:///home/kasutaja/Pictures/pilt.jpg' 

kui veateadet ei tule, oli järelikult seadete muutmine edukas.

Kokkuvõte

Gsettings on suhteliselt lihtne, kuid alati mitte kõige otstarbekam lahendus seadeid muuta, näiteks taustapilt laetakse uuesti alles järgmise startupiga.

Kasutatud kirjandus

https://developer.gnome.org/gio/2.33/GSettings.html http://www.burtonini.com/blog/computers/gsettings-override-2011-07-04-15-45 http://www.linuxfromscratch.org/blfs/view/svn/gnome/gsettings-desktop-schemas.html

Autor

Tammo Oolup A32