Index: app/src/gph/gph
===================================================================
--- app/src/gph/gph	(revision cfed5c16437f8fdaa6995493b975db89abf458c2)
+++ app/src/gph/gph	(revision 19dfa5cb763e0eab77888cefb54245f0e847cb94)
@@ -8,14 +8,69 @@
 use strict;
 use Getopt::Long;
+use File::HomeDir;
 
-my @process;
+
+
+
+
+my $systemconfigfile='/usr/local/etc/utt/gph.conf';
+my $userconfigfile=home()."/.utt/gph.conf";
+
+Getopt::Long::Configure('no_ignore_case_always');
+
 my $help=0;
+my $inputfile=0;
+my $outputfile=0;
+my @process=();
 my $reset;
-my $interactive=1;
+my $interactive=0;
+
+#read configuration files###########################
+my $file;
+my @process_conf=();
+foreach $file ($systemconfigfile, $userconfigfile){
+  if(open(CONFIG, $file)){
+        while (<CONFIG>) {
+                chomp;
+                s/#.*//;
+                s/^\s+//;
+                s/\s+$//;
+                next unless length;
+                my ($name, $value) = split(/\s*=\s*/, $_, 2);
+                if(($name eq "inputfile")or($name eq "f")){
+                        $inputfile=$value;
+                }
+                elsif(($name eq "outputfile")or($name eq "o")){
+                        $outputfile=$value;
+                }
+                elsif(($name eq "process")or($name eq "p")){
+                        push @process_conf, $value;
+                }
+                elsif(($name eq "reset")or($name eq "r")){
+                        $reset=$value;
+                }
+                elsif(($name eq "interactive")or($name eq "i")){
+                        $interactive=1;
+                }
+                elsif(($name eq "help")or($name eq "h")){
+                        $help=1;
+                }
+
+        }
+        close CONFIG;
+  }
+}
+#########################################################
+
+
 
 GetOptions("process|p=s" => \@process,
+           "inputfile|f=s" => \$inputfile,
+           "outputfile|o=s" => \$outputfile,
 	   "help|h" => \$help,
 	   "reset|r=s" => \$reset,
 	   "interactive|i" => \$interactive);
+
+@process = @process_conf if @process<1;
 
 if($help)
@@ -27,7 +82,7 @@
    -p tag		Process segments with this tag as nodes.
    -r tag		Start new graph at this tag.
-   -f filename		Input file (NIE DZIALA).
-   -o filename		Output file (NIE DZIALA).
-   -i			Toggle interactive mode (default=on).
+   -f filename		Input file.
+   -o filename		Output file.
+   -i			Toggle interactive mode (default=off).
 END
 ;
@@ -38,9 +93,23 @@
 $|=1 if $interactive;
 
+
+if(!$inputfile or $inputfile eq "-") {
+	*INPUT = *STDIN;
+}
+else {
+	open(INPUT, "$inputfile") or die("Can't open input file: $inputfile!");
+}
+
+if(!$outputfile or $outputfile eq "-") {
+	*OUTPUT = *STDOUT;
+}
+else {
+	open(OUTPUT, "$outputfile") or die("Can't open output file: $outputfile!");
+}
+
 my @prev;
-
 my $n=0;
 
-while(<>)
+while(<INPUT>)
 {
     chomp;
@@ -89,5 +158,5 @@
     }
 
-    print $_.$gph."\n";    
+    print OUTPUT $_.$gph."\n";    
 }
 
