diff -aur qsynth-0.2.5/src/main.cpp qsynth-0.2.5-iconic/src/main.cpp
--- qsynth-0.2.5/src/main.cpp	2005-08-24 22:57:10.000000000 +0100
+++ qsynth-0.2.5-iconic/src/main.cpp	2006-12-12 19:10:51.000000000 +0000
@@ -59,7 +59,13 @@
     qsynthMainForm w;
     app.setMainWidget(&w);
     w.setup(&settings);
-    w.show();
+
+    if (settings.bIconic) {
+        w.showMinimized();
+	if (settings.bSystemTray) w.hide();
+    } else {
+        w.show();
+    }
 
     // Register the quit signal/slot.
     // app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));
diff -aur qsynth-0.2.5/src/qsynthOptions.cpp qsynth-0.2.5-iconic/src/qsynthOptions.cpp
--- qsynth-0.2.5/src/qsynthOptions.cpp	2005-12-29 11:06:10.000000000 +0000
+++ qsynth-0.2.5-iconic/src/qsynthOptions.cpp	2006-12-12 19:11:00.000000000 +0000
@@ -360,6 +360,9 @@
         else if (sArg == "-v" || sArg == "--verbose") {
             m_pDefaultSetup->bVerbose = true;
         }
+        else if (sArg == "-iconic" || sArg == "--iconic") {
+            bIconic = true;
+        }
         else if (sArg == "-h" || sArg == "--help") {
             print_usage(argv[0]);
             return false;
diff -aur qsynth-0.2.5/src/qsynthOptions.h qsynth-0.2.5-iconic/src/qsynthOptions.h
--- qsynth-0.2.5/src/qsynthOptions.h	2005-03-01 17:20:23.000000000 +0000
+++ qsynth-0.2.5-iconic/src/qsynthOptions.h	2006-12-12 19:11:04.000000000 +0000
@@ -59,6 +59,7 @@
     bool    bStdoutCapture;
     bool    bOutputMeters;
     bool    bSystemTray;
+    bool    bIconic;
 
     // Default options...
     QString sSoundFontDir;
