Won't be too difficult - just hide the main window on a destroy event (to talk in GTK+ terms) and re-show it on a D-Bus signal (i.e. when it's activated from the application manager). The only problem is that the app has to be coded to not cause unnecessary wake-ups when running in "hidden" mode and it could lead to a problem with memory consumption, as "hidden" apps still reside in memory, even if they are swapped out to swapspace. MeeGo Touch will provide something like this built-in: http://apidocs.meego.com/mtf/namespa...f36522ced5ffff (it's called "prestart mode" or "lazy shutdown" there) You can set it on MApplication: http://apidocs.meego.com/mtf/class_m...4c965367ca7c77 AFAIK the "prestart" mode (loading before first use) is limited to built-in apps, but lazy shutdown (keeping in memory after first use) could be possible on MeeGo. For Maemo, it's possible - it's just a matter of where it makes sense and then of implementing it. Here's how you would do it: Connect to the destroy event of your main window - return TRUE and hide the main window Make a D-Bus service for your application, add a "show_gui" method or something that simply shows the main window when called Make the launcher script of your app call "show_gui" if the app is already running, otherwise launch the app normally