aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib
diff options
context:
space:
mode:
authorChristophe Grand <christophe@cgrand.net>2009-01-07 19:59:46 +0000
committerChristophe Grand <christophe@cgrand.net>2009-01-07 19:59:46 +0000
commit64f7ec7003a315eeea5ce43c3d13207bd6256d05 (patch)
treedfeb7c4d2bd1f63ca0949ae94166e831fb5da114 /src/clojure/contrib
parenta6a68b5f63286f0bec4684ca3cb189446b9836d3 (diff)
Added a 3rd option to browse-url. Now, before defaulting to swing, will try to open the url using an external command if any is configured.
This command is currently defined only for Mac OS X.
Diffstat (limited to 'src/clojure/contrib')
-rw-r--r--src/clojure/contrib/javadoc/browse.clj11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/clojure/contrib/javadoc/browse.clj b/src/clojure/contrib/javadoc/browse.clj
index f6b1d349..690a6bf8 100644
--- a/src/clojure/contrib/javadoc/browse.clj
+++ b/src/clojure/contrib/javadoc/browse.clj
@@ -10,7 +10,14 @@
; You must not remove this notice, or any other, from this software.
(ns clojure.contrib.javadoc.browse
- (:import (java.net URI)))
+ (:require [clojure.contrib.shell-out :as sh])
+ (:import (java.net URI)))
+
+(defn- macosx? []
+ (-> "os.name" System/getProperty .toLowerCase
+ (.startsWith "mac os x")))
+
+(def *open-url-script* (when (macosx?) "/usr/bin/open"))
(defn open-url-in-browser
"Opens url (a string) in the default system web browser. May not
@@ -45,4 +52,4 @@
(.show))))
(defn browse-url [url]
- (or (open-url-in-browser url) (open-url-in-swing url)))
+ (or (open-url-in-browser url) (when *open-url-script* (sh/sh *open-url-script* (str url)) true) (open-url-in-swing url)))