Humus numericus

Aller au contenu | Aller au menu | Aller à la recherche

R, Spip et autres

Utiliser Mozilla Firefox pour ouvrir les liens sous Emacs/Gnus

La commande utilisée sous Emacs (et donc sous Gnus) pour ouvrir et afficher le contenu d'url contenues dans des documents ou des mails est à définir sous la forme d'une fonction à rattacher à la fonction browse-url-browser-function. Il existe un cetain nombre de fonctions par défaut, mais aucune pour Mozilla Firefox (en tous cas pour ma version d'Emacs, la 21.3.1). Grâce à EmacsWiki et à Google Groups, j'ai pu bricoler une fonction qui permet d'ouvrir le lien dans un nouveau tab si une instance de Firefox tourne déjà, et de lancer le navigateur sinon.

A priori ça fonctionne pour Firefox 0.9 et au-delà. Voici le code à rajouter dans votre .emacs :

(defun browse-url-firefox-new-tab (url &optional new-window)
  "Open URL in a new tab in Firefox."
  (interactive (browse-url-interactive-arg "URL: "))
  (let ((cmd (shell-command-to-string
              (concat "mozilla-firefox -a firefox -remote 'openURL("
                        url ",new-tab)' > /dev/null"))))
    (unless (string= "" cmd)
      (message "Starting Firefox...")
      (start-process (concat "firefox " url) nil "/bin/sh" "-c" 
               (concat "mozilla-firefox " url "|| true"))
      (message "Starting Firefox...done"))))
(setq browse-url-browser-function 'browse-url-firefox-new-tab)