method menus : (string * GToolbox.menu_entry list) list =
      let com com () = Cam_commands.eval_command (Printf.sprintf "%s_%s" factory_name com) in
      (* FIXME: do some kind of merging between the sourceview menus
         and the mode menus *)

      [
        "Search",
        [ `I ("Search forward", com "search") ;
          `I ("Search backward", com "search_backward") ;
          `S ;
          `I ("Search regexp forward", com "search_re") ;
          `I ("Search regexp backward", com "search_re_backward") ;
          `S ;
          `I ("Query/replace", com "query_replace") ;
        ]
      ] @
        file#mode_menus