#!/usr/bin/env python3
import inspect

from gi.repository import GLib, GObject, Gtk, Gdk


for mod in (GObject, GLib, Gtk, Gdk):
    for name in dir(mod):
        cls = getattr(mod, name)
        if inspect.isclass(cls) and issubclass(cls, GObject.GBoxed):
            try:
                obj = cls()
            except Exception as e:
                print('| %s.%s | %s |' % (mod.__name__.lstrip('gi.repository.'),
                                          name,
                                          e.__class__.__name__))
