#include <glib.h>
#include <modest-runtime.h>
#include <modest-init.h>
+#include "modest-platform.h"
#include <gdk/gdk.h>
#include <widgets/modest-main-window.h>
+#include <string.h>
int
main (int argc, char *argv[])
{
+ /* Usually we don't show the application at first,
+ * because we wait for the top_application D-Bus method to
+ * be called. But that's annoying when starting from the
+ * command line.: */
+ gboolean show_ui_without_top_application_method = FALSE;
+ if (argc >= 2) {
+ if (strcmp (argv[1], "showui") == 0)
+ show_ui_without_top_application_method = TRUE;
+ }
+
ModestWindow *win;
int retval = 0;
gdk_threads_init ();
gdk_threads_enter ();
- if (!gtk_init_check(&argc, &argv)) {
+ if (!gtk_init_check (&argc, &argv)) {
g_printerr ("modest: failed to initialize gtk\n");
retval = 1;
goto cleanup;
goto cleanup;
}
- win = modest_main_window_new ();
- gtk_widget_show_all (GTK_WIDGET(win));
-
+ /* this will create & register the window */
+ win = modest_window_mgr_get_main_window (modest_runtime_get_window_mgr());
if (!win) {
- g_printerr ("modest: failed to create main window\n");
+ g_printerr ("modest: failed to get main window instance\n");
retval = 1;
goto cleanup;
}
- modest_window_mgr_register_window (modest_runtime_get_window_mgr(),
- win);
- g_object_unref (win);
+ /* Usually, we only show the UI when we get the "top_application" D-Bus method.
+ * This allows modest to start via D-Bus activation to provide a service,
+ * without showing the UI.
+ * The UI will be shown later (or just after starting if no otehr D-Bus method was used),
+ * when we receive the "top_application" D-Bus method.
+ */
+ if (show_ui_without_top_application_method) {
+ gtk_widget_show_all (GTK_WIDGET(win));
+
+ /* Remove new mail notifications if exist */
+ modest_platform_remove_new_mail_notifications ();
+ }
- gtk_main ();
- retval = 0;
+ gtk_main ();
cleanup:
gdk_threads_leave ();
+ /* Remove new mail notifications if exist */
+/* modest_platform_remove_new_mail_notifications (); */
+
if (!modest_init_uninit ()) {
g_printerr ("modest: modest_init_uninit failed\n");
retval = 1;
}
- g_debug ("closing modest with retval %d", retval);
-
return retval;
}
-