anchor.diff:  conf_fill(_Key,#conf{widget=Widget, val=Val},_) ->
     g('Gtk_entry_set_text',[Widget,to_str(Val)]).
   
  -conf_get_val(Key,LD) -> (fetch(Key,LD#ld.conf))#conf.val.
  -
  -get_gui_val(Key,LD) -> 
  -  C = fetch(Key,LD#ld.conf),
  -  get_gui_val(C#conf.widget,C#conf.type,C#conf.val).
  +conf_val(Key,LD) when is_record(LD,ld) -> 
  +  conf_val(Key,LD#ld.conf);
  +conf_val(Key,Confs) ->
  +  (fetch(Key,Confs))#conf.val.
   
   get_gui_val(Widget,Type,Val) -> 
     X = g('Gtk_entry_get_text',[Widget]),
  
positive.code:     integer-> try list_to_integer(X) catch _:_ -> Val end
    end.
  
  zip([],[]) -> [];
  zip([A|As],[B|Bs]) -> [{A,B}|zip(As,Bs)].
  
  
negative.code: to_str(A) when is_atom(A) -> atom_to_list(A);
  to_str(F) when is_float(F) ->float_to_list(F);
  to_str(I) when is_integer(I) ->integer_to_list(I).
  
  setcookie(Node,Cookie) ->
    erlang:set_cookie(Node,Cookie).
  
  restart(Confs) ->
    try restart(conf_val(anode,Confs),conf_val(aproxy,Confs)),
        [do_conf(Tag,Confs) || Tag <- [cpu,net,mem]]
    catch _:R -> 
        ?log([{reason,R},Confs])
    end.
  
  restart(Anode,Aproxy) ->
    prf:stop(gperf_prf),
    case Aproxy of
      ''-> prf:start(gperf_prf,Anode,gperfConsumer);
      _ -> prf:start(gperf_prf,Anode,gperfConsumer,Aproxy)
    end.
  
  -spec die(_) -> no_return().
  die(_LD) ->
  