Maybe a stupid question, but why didn't you put a ghashtable in the xfconfchannel struct (property name and gvalues) which is filled on channel load and then kept in sync? Nick