[Sugar-devel] From GConf to GSettings

Gonzalo Odiard gonzalo at laptop.org
Thu Dec 26 16:00:54 EST 2013


I did a search in all the xo I have downloaded from ASLO two months ago,
then, can be a little outdated but is useful as reference.

Of 682 .xo files, only 36 read values from gconf.

Looking for "client.get_" :

grep -in client.get_ *.py | grep -v get_default | wc -l
    100

But many are reading nick/color:

[gonzalo at localhost gconf_use]$ grep -in client.get_ *.py | grep nick | wc -l
23
[gonzalo at localhost gconf_use]$ grep -in client.get_ *.py | grep color | wc
-l
34
And a few get the value of '/desktop/sugar/power/automatic'
grep -in client.get_ *.py | grep power | wc -l
10

The other are in 15 activities:

[gonzalo at localhost gconf_use]$ grep -in client.get_ *.py | grep -v
get_default | grep -v nick | grep -v color | grep -v power | awk -F '.'
'{print $2}' | sort -u
xo_AmazonasTortuga
xo_Browse
xo_FileShare
xo_IconChange
xo_Labyrinth
xo_Mirage
xo_MouseCam
xo_TortugadeMexico
xo_TurtleArtMini
xo_TurtleBlocks
xo_TurtleBots
xo_TurtleConfusion
xo_TurtleFlags
xo_WelcomeWeb
xo_Write

[gonzalo at localhost gconf_use]$ grep -in client.get_ *.py | grep -v
get_default | grep -v nick | grep -v color | grep -v power
addon-4024-latest.xo_Browse.activity_webactivity.py:92:    backup_url =
client.get_string('/desktop/sugar/backup_url')
addon-4024-latest.xo_Browse.activity_webactivity.py:97:    jabber_server =
client.get_string(
addon-4027-latest.xo_TurtleBlocks.activity_collaboration_neighborhood.py:797:
       server = client.get_string(
addon-4027-latest.xo_TurtleBlocks.activity_TurtleArtActivity.py:133:
     if self.client.get_int(self._HOVER_HELP) == 1:
addon-4027-latest.xo_TurtleBlocks.activity_TurtleArtActivity.py:135:
     if not self.client.get_int(self._COORDINATE_SCALE) in [0, 1]:
addon-4027-latest.xo_TurtleBlocks.activity_turtleblocks.py:234:
 if self.client.get_int(self._HOVER_HELP) == 1:
addon-4027-latest.xo_TurtleBlocks.activity_turtleblocks.py:237:
 if not self.client.get_int(self._COORDINATE_SCALE) in [0, 1]:
addon-4078-latest.xo_Labyrinth.activity_src_Browser.py:96: width =
self.config_client.get_int ('/apps/labyrinth/width')
addon-4078-latest.xo_Labyrinth.activity_src_Browser.py:97: height =
self.config_client.get_int ('/apps/labyrinth/height')
addon-4078-latest.xo_Labyrinth.activity_src_Browser.py:98:
utils.use_bezier_curves
= self.config_client.get_bool ('/apps/labyrinth/curves')
addon-4078-latest.xo_Labyrinth.activity_src_Browser.py:109: sort_order =
self.config_client.get_int('/apps/labyrinth/map_sort_order')
addon-4078-latest.xo_Labyrinth.activity_src_Browser.py:110: column_id =
self.config_client.get_int('/apps/labyrinth/map_sort_order_column')
addon-4078-latest.xo_Labyrinth.activity_src_MainWindow.py:221: if not
self.config_client.get_bool('/apps/labyrinth/show_tree_view'):
addon-4201-latest.xo_Write.activity_speechtoolbar.py:109:
 speech.pitch = self._cnf_client.get_int('/desktop/sugar/speech/pitch')
addon-4201-latest.xo_Write.activity_speechtoolbar.py:110:
 speech.rate = self._cnf_client.get_int('/desktop/sugar/speech/rate')
addon-4201-latest.xo_Write.activity_speechtoolbar.py:139:        value =
client.get_int(key)
addon-4266-latest.xo_FileShare.activity_FileShareActivity.py:116:
 jabber_serv =
client.get_string("/desktop/sugar/collaboration/jabber_server")
addon-4298-latest.xo_TurtleArtMini.activity_collaboration_neighborhood.py:797:
       server = client.get_string(
addon-4298-latest.xo_TurtleArtMini.activity_TurtleArtActivity.py:124:
 if self.client.get_int(self._HOVER_HELP) == 1:
addon-4298-latest.xo_TurtleArtMini.activity_turtleblocks.py:222:        if
self.client.get_int(self._HOVER_HELP) == 1:
addon-4363-latest.xo_Mirage.activity_mirage.py:698: style =
client.get_string('/desktop/gnome/interface/toolbar_style')
addon-4363-latest.xo_Mirage.activity_pippy_app.py:700: style =
client.get_string('/desktop/gnome/interface/toolbar_style')
addon-4434-latest.xo_TurtleBots.activity_collaboration_neighborhood.py:797:
       server = client.get_string(
addon-4434-latest.xo_TurtleBots.activity_TurtleArtActivity.py:124:
 if self.client.get_int(self._HOVER_HELP) == 1:
addon-4434-latest.xo_TurtleBots.activity_turtleblocks.py:222:        if
self.client.get_int(self._HOVER_HELP) == 1:
addon-4450-latest.xo_TurtleConfusion.activity_collaboration_neighborhood.py:797:
       server = client.get_string(
addon-4450-latest.xo_TurtleConfusion.activity_TurtleArtActivity.py:138:
       if self.client.get_int(self._HOVER_HELP) == 1:
addon-4450-latest.xo_TurtleConfusion.activity_turtleconfusion.py:226:
 if self.client.get_int(self._HOVER_HELP) == 1:
addon-4487-latest.xo_MouseCam.activity_activity.py:137:
 gconf_persist_value = self.client.get_float('/apps/mousecam/adj')
addon-4487-latest.xo_MouseCam.activity_activity.py:149:
 gconf_persist_value = self.client.get_int('/apps/mousecam/threshold')
addon-4585-latest.xo_AmazonasTortuga.activity_collaboration_neighborhood.py:797:
       server = client.get_string(
addon-4585-latest.xo_AmazonasTortuga.activity_TurtleArtActivity.py:132:
   if self.client.get_int(self._HOVER_HELP) == 1:
addon-4585-latest.xo_AmazonasTortuga.activity_turtleblocks.py:222:
 if self.client.get_int(self._HOVER_HELP) == 1:
addon-4668-latest.xo_TortugadeMexico.activity_collaboration_neighborhood.py:797:
       server = client.get_string(
addon-4668-latest.xo_TortugadeMexico.activity_TurtleArtActivity.py:133:
   if self.client.get_int(self._HOVER_HELP) == 1:
addon-4668-latest.xo_TortugadeMexico.activity_turtleblocks.py:223:
 if self.client.get_int(self._HOVER_HELP) == 1:
addon-4682-latest.xo_TurtleFlags.activity_collaboration_neighborhood.py:797:
       server = client.get_string(
addon-4682-latest.xo_TurtleFlags.activity_TurtleArtActivity.py:140:
   if self.client.get_int(self._HOVER_HELP) == 1:
addon-4682-latest.xo_TurtleFlags.activity_turtleflags.py:225:        if
self.client.get_int(self._HOVER_HELP) == 1:
addon-4683-latest.xo_IconChange.activity_Widgets.py:45:    value =
client.get_string(path)
addon-4697-latest.xo_WelcomeWeb.activity_activity.py:345:    face =
client.get_string('/desktop/sugar/font/default_face')
addon-4697-latest.xo_WelcomeWeb.activity_activity.py:346:    size =
client.get_float('/desktop/sugar/font/default_size')

For better analysis or peer review, you can get the files where I found the
string gconf/GConf
here http://dev.laptop.org/~gonzalo/gconf_use.zip

If someone want download all the xo files in aslo, I have a script to do it,
but would be good discuss with the infrastructure team before we start to
do massive downloads.
Probably there are a better way to do it.

My proposals:

* Activities should use sugar3.profile get_nick_name() and get_color()
methods.
* Other popular/needed sugar configurations (power mode, speech
configurations)should be available as methods in the toolkit.

Gonzalo






On Thu, Dec 26, 2013 at 5:17 PM, Daniel Narvaez <dwnarvaez at gmail.com> wrote:

> On 26 December 2013 18:17, Daniel Narvaez <dwnarvaez at gmail.com> wrote:
>
>>
>> About activities, there is probably a way to make them ship schemas but
>> I'm wondering what's the advantage for them to use gsettings vs a json or
>> ini file. It feels like added complexity without real advantages.
>>
>
> Gonzalo pointed out that deployments are using the gconf tools to set
> stuff like Write font. That''s probably a good use case.
> Still I hope we can deal with activity specific settings separately in the
> port (perhaps even a separated GCI task?).
>
> --
> Daniel Narvaez
>
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20131226/f236cb5e/attachment-0001.html>


More information about the Sugar-devel mailing list