aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuri Linkov2011-10-19 12:10:10 +0300
committerJuri Linkov2011-10-19 12:10:10 +0300
commit5214e501a259b812d4a2d260ea3aff7368b8aabc (patch)
treea113fbcaaec02afb611399aa743ac2792a4316da
parent195f8db97df38608481a4497cbaf86d8acc9aa55 (diff)
downloademacs-5214e501a259b812d4a2d260ea3aff7368b8aabc.tar.gz
emacs-5214e501a259b812d4a2d260ea3aff7368b8aabc.zip
* lisp/net/browse-url.el (browse-url-can-use-xdg-open): Support LXDE
by checking environment variables "DESKTOP_SESSION" and "XDG_CURRENT_DESKTOP". Fixes: debbugs:9779
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/net/browse-url.el10
2 files changed, 13 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index a2197503492..dffbe363089 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,11 @@
12011-10-19 Juri Linkov <juri@jurta.org> 12011-10-19 Juri Linkov <juri@jurta.org>
2 2
3 * net/browse-url.el (browse-url-can-use-xdg-open): Support LXDE
4 by checking environment variables "DESKTOP_SESSION" and
5 "XDG_CURRENT_DESKTOP". (Bug#9779)
6
72011-10-19 Juri Linkov <juri@jurta.org>
8
3 * net/browse-url.el (browse-url-browser-function): Add "Chromium". 9 * net/browse-url.el (browse-url-browser-function): Add "Chromium".
4 (browse-url-chromium-program, browse-url-chromium-arguments): 10 (browse-url-chromium-program, browse-url-chromium-arguments):
5 New defcustoms. 11 New defcustoms.
diff --git a/lisp/net/browse-url.el b/lisp/net/browse-url.el
index 1b42000dfc6..10a1fa5afc5 100644
--- a/lisp/net/browse-url.el
+++ b/lisp/net/browse-url.el
@@ -48,6 +48,7 @@
48;; browse-url-generic arbitrary 48;; browse-url-generic arbitrary
49;; browse-url-default-windows-browser MS-Windows browser 49;; browse-url-default-windows-browser MS-Windows browser
50;; browse-url-default-macosx-browser Mac OS X browser 50;; browse-url-default-macosx-browser Mac OS X browser
51;; browse-url-xdg-open Free Desktop xdg-open on Gnome, KDE, Xfce4, LXDE
51;; browse-url-gnome-moz GNOME interface to Mozilla 52;; browse-url-gnome-moz GNOME interface to Mozilla
52;; browse-url-kde KDE konqueror (kfm) 53;; browse-url-kde KDE konqueror (kfm)
53;; browse-url-elinks Elinks Don't know (tried with 0.12.GIT) 54;; browse-url-elinks Elinks Don't know (tried with 0.12.GIT)
@@ -943,12 +944,13 @@ used instead of `browse-url-new-window-flag'."
943 url args)) 944 url args))
944 945
945(defun browse-url-can-use-xdg-open () 946(defun browse-url-can-use-xdg-open ()
946 "Check if xdg-open can be used, i.e. we are on Gnome, KDE or xfce4." 947 "Check if xdg-open can be used, i.e. we are on Gnome, KDE, Xfce4 or LXDE."
947 (and (getenv "DISPLAY") 948 (and (getenv "DISPLAY")
948 (executable-find "xdg-open") 949 (executable-find "xdg-open")
949 ;; xdg-open may call gnome-open and that does not wait for its child 950 ;; xdg-open may call gnome-open and that does not wait for its child
950 ;; to finish. This child may then be killed when the parent dies. 951 ;; to finish. This child may then be killed when the parent dies.
951 ;; Use nohup to work around. 952 ;; Use nohup to work around. See bug#7166, bug#8917, bug#9779 and
953 ;; http://lists.gnu.org/archive/html/emacs-devel/2009-07/msg00279.html
952 (executable-find "nohup") 954 (executable-find "nohup")
953 (or (getenv "GNOME_DESKTOP_SESSION_ID") 955 (or (getenv "GNOME_DESKTOP_SESSION_ID")
954 ;; GNOME_DESKTOP_SESSION_ID is deprecated, check on Dbus also. 956 ;; GNOME_DESKTOP_SESSION_ID is deprecated, check on Dbus also.
@@ -966,7 +968,9 @@ used instead of `browse-url-new-window-flag'."
966 "/bin/sh" nil nil nil 968 "/bin/sh" nil nil nil
967 "-c" 969 "-c"
968 "xprop -root _DT_SAVE_MODE|grep xfce4")) 970 "xprop -root _DT_SAVE_MODE|grep xfce4"))
969 (error nil))))) 971 (error nil))
972 (member (getenv "DESKTOP_SESSION") '("LXDE" "Lubuntu"))
973 (equal (getenv "XDG_CURRENT_DESKTOP") "LXDE"))))
970 974
971 975
972;;;###autoload 976;;;###autoload