We have made some improvements and fixes to the first prototype:
- Disabled metadata writing when bus is down to avoid having several Gedit processes writing to it at the same time.
- Avoided application shutdown when bus shuts down.
- Fixed indentation and naming.
- Tested provided D-Bus service with a client outside Gedit.
- Implementation of GeditDbus GObject as a single instance.
- Provide a hash table to this interface to make it more extensible without breaking compatibility.
- Some other minor fixes…
Sent a patch to Paolo Borrelli, who suggested:
- Avoid using “_” as prefix for static methods.
- Use G_DEFINE_TYPE to define the GeditDbus GObject type.
Besides, he pointed out that Vytas is working on a single-application instance framework for Gnome. I’ll take a look at it to check if it could be useful for Gedit.