Index: /Evidence/Config.cc
===================================================================
--- /Evidence/Config.cc	(revision 150)
+++ /Evidence/Config.cc	(revision 151)
@@ -16,5 +16,5 @@
 \********************************************************************/
 
-#define DEFAULT_CONFIG "../../config/Evidence.conf"
+#define DEFAULT_CONFIG "../config/Evidence.conf"
 #define SERVER_NAME "Config"
 
Index: /Evidence/DColl.cc
===================================================================
--- /Evidence/DColl.cc	(revision 150)
+++ /Evidence/DColl.cc	(revision 151)
@@ -49,4 +49,5 @@
 		
     unsigned int NumItems;
+	char *Filename;
     FILE *DataFile;
     FILE *LogFile;
@@ -54,5 +55,5 @@
 	int DataSizeLastUpdate, LogSizeLastUpdate;
 	char *DataDir;
-    DimService *LogSizeService, *DataSizeService;
+    DimService *LogSizeService, *DataSizeService, *DataFilename;
     int HistSize;
 	int SizeUpdateDelay;
@@ -79,4 +80,5 @@
 
   // Initialization to prevent freeing unallocated memory 
+  Filename = NULL;
   DataFile = NULL;
   LogFile = NULL;
@@ -105,5 +107,5 @@
   LogCommand = new DimCommand("DColl/Log", (char *) "C", this);
               
-  // Create services for file sizes
+  // Create services for file sizes and data file name
   DataSizekB = 0;
   DataSizeService = new DimService(SERVER_NAME "/DataSizekB", DataSizekB);
@@ -111,4 +113,6 @@
   LogSizekB = FileSize(LogFile);
   LogSizeService = new DimService(SERVER_NAME "/LogSizekB", LogSizekB);
+
+  DataFilename = new DimService(SERVER_NAME "/CurrentFile", (char *) "");
 
   // Count how many minimum change value regular expressions are present
@@ -162,8 +166,10 @@
   free(List);
 
+  delete DataFilename;
   //delete LogSizeService; // These create segmentation faults?!
   //delete DataSizeService;
 
   delete LogCommand;
+  free(Filename);
 
   // Close files
@@ -243,5 +249,5 @@
 	if (mktime(T) == -1) State(ERROR, "mktime() failed, check filename");
 
-	char *Filename;
+	free(Filename);
 	if (MakeString(&Filename, "%s/%d%02d%02d.slow", DataDir, T->tm_year+1900, T->tm_mon+1, T->tm_mday) == -1) State(FATAL, "Could not create filename, MakeString() failed");
 	if ((DataFile = fopen(Filename, "a")) == NULL) {
@@ -249,5 +255,5 @@
 	}
 	else State(INFO, "Opened data file '%s'", Filename);
-	free(Filename);
+	DataFilename->updateService(Filename);
 	
 	// Calculate time for next file opening
Index: /Evidence/Edd/Edd.cc
===================================================================
--- /Evidence/Edd/Edd.cc	(revision 150)
+++ /Evidence/Edd/Edd.cc	(revision 151)
@@ -597,21 +597,40 @@
   MainLayout = new QGridLayout(MainWidget);
 
+  Value = new Edd_Indicator("Alarm/Status");
+  Value->setMaximumWidth(200);
+  MainLayout->addWidget(Value, 0, 0, 1, 2);      
+
+  Value = new Edd_Indicator("Alarm/MasterAlarm");
+  MainLayout->addWidget(Value, 0, 1, 1, 1);
+
+  Textout = new Edd_Textout("Alarm/Summary");
+  Textout->Accumulate = false;
+  Textout->setMaximumWidth(200);
+  Textout->setMaximumHeight(150);
+  MainLayout->addWidget(Textout, 1, 0, 1, 2);
+
+  Value = new Edd_Indicator("DColl/Status");
+  Value->setMaximumWidth(200);
+  MainLayout->addWidget(Value, 3, 0, 1, 2);      
+
   Value = new Edd_Indicator("DColl/DataSizekB");
-  MainLayout->addWidget(Value, 3, 5, 1, 1);
+  MainLayout->addWidget(Value, 4, 0, 1, 1);
 
   Value = new Edd_Indicator("DColl/LogSizekB");
-  MainLayout->addWidget(Value, 4, 5, 1, 1);
+  MainLayout->addWidget(Value, 4, 1, 1, 1);
+
+  Value = new Edd_Indicator("DColl/CurrentFile");
+  Value->setMaximumWidth(400);
+  MainLayout->addWidget(Value, 5, 0, 1, 3);
+
+  Value = new Edd_Indicator("Config/Status");
+  Value->setMaximumWidth(200);
+  MainLayout->addWidget(Value, 6, 0, 1, 2);      
 
   Value = new Edd_Indicator("Config/ModifyTime");
   Value->setMaximumWidth(200);
   Value->ShowAsTime = true;
-  MainLayout->addWidget(Value, 5, 5, 1, 1);
-
-  Value = new Edd_Indicator("Alarm/MasterAlarm");
-  MainLayout->addWidget(Value, 2, 0, 1, 1);
-
-  Textout = new Edd_Textout("Alarm/Summary");
-  Textout->Accumulate = false;
-  MainLayout->addWidget(Textout, 3, 0, 2, 1);
+  MainLayout->addWidget(Value, 7, 0, 1, 1);
+
 
   // Layout of all widgets
Index: /Evidence/readme.txt
===================================================================
--- /Evidence/readme.txt	(revision 151)
+++ /Evidence/readme.txt	(revision 151)
@@ -0,0 +1,23 @@
+Short description of Evidence control system
+
+This directory contains the backbone of the control system.
+
+Config is the configuration server and needs to run before any other DIM
+server that requests configuration information is started (if a configuration
+request cannot be answered, a server will normally not start). As default,
+it reads Evidence.conf in the config subdirectory. A different configuration
+file can be given on the command line.
+
+DColl is the central data collector. It subscribes to all services handled by
+the name server and writes them to disk (except those excluded in the
+configuration file). It also provides a history service for all DIM services
+and a command for logging.
+
+Alarm can be configured to check all servers for availability and status and
+can produce a master alarm.
+
+The DIMDIR environment variable needs to point to the DIM installation directory
+when compiling. DIM_DNS_NODE must point to a name server for any DIM server
+to run.
+
+- Oliver Grimm, 18/1/2010
