--- a/src/hugin1/ptbatcher/Batch.cpp
+++ b/src/hugin1/ptbatcher/Batch.cpp
@@ -33,8 +33,10 @@
 
 #if _WINDOWS && defined Hugin_shared
 DEFINE_LOCAL_EVENT_TYPE(EVT_BATCH_FAILED)
+DEFINE_LOCAL_EVENT_TYPE(EVT_INFORMATION)
 #else
 DEFINE_EVENT_TYPE(EVT_BATCH_FAILED)
+DEFINE_EVENT_TYPE(EVT_INFORMATION)
 #endif
 
 Batch::Batch(wxFrame* parent, wxString path, bool bgui) : wxFrame(parent,wxID_ANY,_T("Batch")){
@@ -357,6 +359,12 @@
 		cout << "Error: Could not get status, project with index " << index << " is not in list." << endl;
 	return Project::MISSING;
 }
+
+bool Batch::IsRunning()
+{
+    return m_running;
+};
+
 bool Batch::IsPaused()
 {
 	return m_paused;
@@ -514,8 +522,11 @@
 				if(NoErrors())
 				{
 					if(gui)
-						//SetStatusText(_T("Project \"")+m_projList.Item(i).path+_T("\" finished. Batch successfully completed."));
-						SetStatusText(_("Batch successfully completed."));
+                    {
+                        wxCommandEvent e(EVT_INFORMATION,wxID_ANY);
+                        e.SetString(_("Batch successfully completed."));
+                        GetParent()->GetEventHandler()->AddPendingEvent(e);
+                    }
 					else
 						//cout << "Project \"" << m_projList.Item(i).path.char_str() << "\" finished. Batch successfully completed." << endl;
 						cout << "Batch successfully completed." << endl;
@@ -527,9 +538,12 @@
 						SetStatusText(_("Batch completed with errors."));
                         if(!shutdown)
                         {
-                            //notify parent, that at least one project failed
-                            wxCommandEvent e(EVT_BATCH_FAILED,wxID_ANY);
-                            GetParent()->GetEventHandler()->AddPendingEvent(e);
+                            if(gui)
+                            {
+                                //notify parent, that at least one project failed
+                                wxCommandEvent e(EVT_BATCH_FAILED,wxID_ANY);
+                                GetParent()->GetEventHandler()->AddPendingEvent(e);
+                            };
                         };
                     }
 					else
@@ -879,10 +893,22 @@
 				m_running = true;
                 if(m_projList.Item(i).target==Project::STITCHING)
                 {
+                    if(gui)
+                    {
+                        wxCommandEvent e(EVT_INFORMATION,wxID_ANY);
+                        e.SetString(wxString::Format(_("Now stitching: %s"),m_projList.Item(i).path.c_str()));
+                        GetParent()->GetEventHandler()->AddPendingEvent(e);
+                    };
 				    value = OnStitch(m_projList.Item(i).path, m_projList.Item(i).prefix, m_projList.Item(i).id);
                 }
                 else
                 {
+                    if(gui)
+                    {
+                        wxCommandEvent e(EVT_INFORMATION,wxID_ANY);
+                        e.SetString(wxString::Format(_("Now detecting: %s"),m_projList.Item(i).path.c_str()));
+                        GetParent()->GetEventHandler()->AddPendingEvent(e);
+                    };
                     value = OnDetect(m_projList.Item(i).path,m_projList.Item(i).id);
                 };
 				if(!value)
@@ -902,10 +928,22 @@
 					m_running = true;
                     if(m_projList.Item(i).target==Project::STITCHING)
                     {
-		    		    value = OnStitch(m_projList.Item(i).path, m_projList.Item(i).prefix, m_projList.Item(i).id);
+                        if(gui)
+                        {
+                            wxCommandEvent e(EVT_INFORMATION,wxID_ANY);
+                            e.SetString(wxString::Format(_("Now stitching: %s"),m_projList.Item(i).path.c_str()));
+                            GetParent()->GetEventHandler()->AddPendingEvent(e);
+                        };
+                        value = OnStitch(m_projList.Item(i).path, m_projList.Item(i).prefix, m_projList.Item(i).id);
                     }
                     else
                     {
+                        if(gui)
+                        {
+                            wxCommandEvent e(EVT_INFORMATION,wxID_ANY);
+                            e.SetString(wxString::Format(_("Now detecting: %s"),m_projList.Item(i).path.c_str()));
+                            GetParent()->GetEventHandler()->AddPendingEvent(e);
+                        };
                         value = OnDetect(m_projList.Item(i).path,m_projList.Item(i).id);
                     };
 					if(!value)