;; -*- emacs-lisp -*-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; $Id: emacs_url.el,v 1.3 2006-11-06 21:02:42 rscholz Exp $
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Einstellungen für url-Package
;;
;; Die offizielle Quelle dieser Datei ist
;;   <http://www.zonix.de/projects/emacs/config>
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Browse-URL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; immer das gleiche Fenster benutzen
(setq browse-url-new-window-flag nil)

(global-set-key "\C-cu." 'browse-url-at-point)
(global-set-key "\C-cub" 'browse-url-of-buffer)
(global-set-key "\C-cuf" 'browse-url-of-file)
(global-set-key "\C-cun" 'browse-url-netscape)

(add-hook 'dired-mode-hook
          (lambda ()
            (local-set-key "\C-cuf" 'browse-url-of-dired-file)))

(if (boundp 'browse-url-browser-function)
    (global-set-key "\C-cuu" browse-url-browser-function)
  (eval-after-load
   "browse-url"
   '(global-set-key "\C-cuu" browse-url-browser-function)))

(add-hook 'browse-url-of-file-hook 'browse-url-netscape-reload)

(setq browse-url-save-file t)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; w3m im XTerm
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; by Norbert Koch in <vzitkmmlja.fsf@lamia.LF.net>
(defun browse-url-w3m-xterm (url &optional new-window)
  ;; new-window ignored
  "Ask the W3M WWW browser to load URL.
Default to the URL around or before point.  A new w3m process is run
in an Xterm window using the Xterm program named by `browse-url-xterm-program'
with possible additional arguments `browse-url-xterm-args'."
  (interactive (browse-url-interactive-arg "Lynx URL: "))
  (apply #'start-process `(,(concat "w3m" url) nil ,browse-url-xterm-program
                           ,@browse-url-xterm-args "-e" "w3m" "-M" ,url)))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Galeon
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; Tabs
(setq browse-url-galeon-new-window-is-tab t)
(setq browse-url-new-window-flag t)

(setq browse-url-browser-function '(("^mailto:" . browse-url-mail)
                                    ("." . browse-url-galeon)))

;; by Norbert Koch: unter X Galeon, auf der Console w3m
(defun nk-browser-func (url &optional new-window)
  (if (and (fboundp 'device-type) (equal (device-type) 'x))
      (browse-url-galeon url new-window)
    (w3m-browse-url url new-window)))
;(setq browse-url-browser-function 'nk-browser-func)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Remote-Browser
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; ,----[ browse-url-remote ]
;; | #!/bin/sh
;; | FLY=`/usr/sbin/arp | grep fly | awk '{print $1}'`
;; | ssh -X $FLY "/opt/gnome/bin/galeon -n $*"
;; `----


(setq browse-url-generic-program "/home/rscholz/bin/browse-url-remote")

(setq browse-url-browser-function '(("^mailto:" . browse-url-mail)
                                    ("." . browse-url-generic)))