Allow start logjam in system tray (no main window at start). diff -up logjam-4.5.3/src/conf_xml.c.orig logjam-4.5.3/src/conf_xml.c --- logjam-4.5.3/src/conf_xml.c.orig 2008-05-11 14:35:48.000000000 +0300 +++ logjam-4.5.3/src/conf_xml.c 2008-05-11 14:55:24.000000000 +0300 @@ -184,6 +184,7 @@ parseoptions(Configuration *c, xmlDocPtr READOPTION(cfautostart) READOPTION(cfusemask) READOPTION(docklet) + READOPTION(start_in_dock) READOPTION(cffloat) READOPTION(cffloatraise) READOPTION(friends_hidestats) @@ -326,6 +327,7 @@ writeoptions(Options *options, xmlNodePt WRITEOPTION(cfautostart); WRITEOPTION(cfusemask); WRITEOPTION(docklet); + WRITEOPTION(start_in_dock); WRITEOPTION(cffloatraise); WRITEOPTION(cffloat); WRITEOPTION(friends_hidestats); diff -up logjam-4.5.3/src/jam.c.orig logjam-4.5.3/src/jam.c --- logjam-4.5.3/src/jam.c.orig 2005-09-10 04:45:01.000000000 +0300 +++ logjam-4.5.3/src/jam.c 2008-05-11 14:56:59.000000000 +0300 @@ -832,8 +845,6 @@ gtk_widget_show(vbox); jam_update_actions(jw); - gtk_widget_show(GTK_WIDGET(jw)); - /* suck a bunch of events in. */ while (gtk_events_pending()) gtk_main_iteration(); @@ -853,7 +864,13 @@ #ifdef USE_DOCK if (conf.options.docklet) docklet_setup(GTK_WINDOW(jw)); + + if (app.docklet) { + if (!conf.options.start_in_dock) + gtk_widget_show(GTK_WIDGET(jw)); + } else #endif + gtk_widget_show(GTK_WIDGET(jw)); draftentry = jam_load_autosave(jw); if (draftentry) { diff -up logjam-4.5.3/src/conf.h.orig logjam-4.5.3/src/conf.h --- logjam-4.5.3/src/conf.h.orig 2005-02-21 19:46:10.000000000 +0200 +++ logjam-4.5.3/src/conf.h 2008-05-11 14:54:16.000000000 +0300 @@ -59,6 +59,7 @@ typedef struct { gboolean allowmultipleinstances; gboolean smartquotes; gboolean showmeta[JAM_VIEW_META_COUNT]; + gboolean start_in_dock; #endif /* HAVE_GTK */ } Options; diff -up logjam-4.5.3/src/settings.c.orig logjam-4.5.3/src/settings.c --- logjam-4.5.3/src/settings.c.orig 2005-02-21 20:31:21.000000000 +0200 +++ logjam-4.5.3/src/settings.c 2008-05-11 14:59:13.000000000 +0300 @@ -87,6 +87,8 @@ static SettingsWidget settingswidgets[] #ifndef G_OS_WIN32 { "ui_docklet", &conf.options.docklet, SW_TOGGLE, N_("Add icon to system _tray (for GNOME/KDE/etc. dock)") }, + { "ui_start_in_dock", &conf.options.start_in_dock, + SW_TOGGLE, N_("Start in system tray") }, #endif #ifndef G_OS_WIN32 @@ -460,6 +468,7 @@ uisettings(JamWin *jw) { g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(docklet_change_cb), jw); groupedbox_pack(GROUPEDBOX(misc), button, FALSE); + groupedbox_pack(GROUPEDBOX(misc), sw_make("ui_start_in_dock"), FALSE); #endif /* USE_DOCK */ return vbox;