let display_log ?(modal=false) ?(width=400) ?(height=600) ~title ~log () =
  let window = GWindow.window
      ~title
      ~allow_shrink: true
      ~width: width
      ~height: height
      ~modal: modal
      ()
  in
  let vbox = GPack.vbox ~packing: window#add () in
  let wscroll = GBin.scrolled_window
      ~vpolicy: `AUTOMATIC
      ~hpolicy: `AUTOMATIC
      ~packing: (vbox#pack ~expand: true ~padding: 2) ()
  in
  let wview = GText.view
(*      ~height: 100*)
      ~editable: false
      ~packing: wscroll#add
      ()
  in
  let wb = GButton.button ~label: Ocvs_messages.close
      ~packing: (vbox#pack ~expand: false)
      ()
  in
  let sep = "----------------------------\n" in
  let l = Str.split (Str.regexp_string sep) log in
  let tag = wview#buffer#create_tag [`FONT "fixed"in
  let rec iter = function
      [] -> ()
    | [h] ->wview#buffer#insert ~tags: [tag] h
    | h :: q ->
        wview#buffer#insert ~tags: [tag] h;
        let tag2 = wview#buffer#create_tag [`FOREGROUND "Blue"in
        wview#buffer#insert ~tags: [tag ; tag2] sep;
        iter q
  in
  iter l;
  ignore (wb#connect#clicked window#destroy);
  window#show ();
  if modal then
    (
     ignore (window#connect#destroy GMain.Main.quit);
     GMain.Main.main ()
    )
  else
    ()