You can embed navit in two ways: you can make navit embed itself by setting NAVIT_XID.
Here is a Qt sample to embed navit's window into your own window:
container = new QX11EmbedContainer(this); QString wId = QString::number(container->winId()); setenv("NAVIT_XID", wId.toAscii(), 1); process = new QProcess(container); process->start("navit");
Navit can also get "pulled" by using a corresponding function of your project (e.g. void QX11EmbedContainer::embedClient(WId id) for Qt 4.4).
Here is a gtk sample to embed navit's window into you own window: http://libgarmin.sf.net/zfe.tgz
See also Dbus to learn about the brand new dbus interface.