Skip to content

Port from GObject to GLib

Updated Jan 11, 2019

Thousands of PyGIDeprecationWarning occur in shell.log and activity logs when using PyGObject development releases, because of our use of GObject instead of GLib for certain methods. These should be changed. Examples include;

  • GObject.idle_add to GLib.idle_add,
  • GObject.timeout_add to GLib.timeout_add,
  • GObject.source_remove to GLib.source_remove,

Also a few other warnings occur within GObject alone;

  • is to change to GObject.Property,
  • GObject.PARAM_* is to change to GObject.ParamFlags.*,

Also positional arguments with the GObject constructor have been deprecated, we must use keywords instead, reference:

Port to TelepathyGLib

Updated Mar 21, 2019

Change from

from import bar


import gi
gi.require_version('TelepathyGLib', '0.12')
from gi.repository import TelepathyGLib

Prerequisite for Port to Python 3.

GStreamer project deprecated the structure field of Gst.Message, replacing it with a method get_structure().

Many activities are affected.

Code pattern is

bus = pipe.get_bus()
bus.connect('message', _cb)

def _cb(bus, message):

Port from GConf to Gio.Settings

Updated Jul 24, 2018

The GNOME GConf library, which was part of GTK+ 2, has or is ending support soon, and downstream distributions will cease packaging.

Sugar only kept GConf compatibility for upgrades from older versions of Sugar that did not use Gio.Settings. That transition was long ago. We must now remove this compatibility support.

  • port Browse, Read and Write activities from GConf to Gio.Settings,
  • remove GConf from Sugar, Sugar Toolkit, and Browse, Read and Write activities,
  • remove GConf from any other activities.

Port to Python 3 via Six

Updated Mar 25, 2019

Port to Python 3 via the Six environment.

Security updates and upstream support for Python 2 are due to be withdrawn, and this will prevent running Sugar on Linux.

You can’t perform that action at this time.