let open_file topwin active_view ?attributes filename =
  try
    let v = List.find (fun v -> v#filename = filename) !views in
    `Use_view (v :> Ed_view.gui_view)
  with Not_found ->
    `New_view (create_view topwin filename :> Ed_view.gui_view)