CVS update by scop packages/xemacs-packages/mail-lib, browse-url-xemacs.el ...

xemacs-cvs at xemacs.org xemacs-cvs at xemacs.org
Sun Jan 21 16:06:24 EST 2007


  User: scop    
  Date: 07/01/21 22:06:24

  Modified:    packages/xemacs-packages/mail-lib ChangeLog
                        browse-url-xemacs.el browse-url.el
Log:
Add xdg-open support to browse-url <200701212152.52470.scop at xemacs.org>

Revision  Changes    Path
1.172     +12 -0     XEmacs/packages/xemacs-packages/mail-lib/ChangeLog

Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/mail-lib/ChangeLog,v
retrieving revision 1.171
retrieving revision 1.172
diff -u -p -r1.171 -r1.172
--- ChangeLog	2006/10/21 19:09:46	1.171
+++ ChangeLog	2007/01/21 21:06:21	1.172
@@ -1,3 +1,15 @@
+2007-01-21  Ville Skyttä  <scop at xemacs.org>
+
+	* browse-url.el: Add support for freedesktop.org xdg-open.
+	(browse-url-xdg-open-program): New.
+	(browse-url-default-xdg-browser): New.
+	(browse-url-browser-function): Add item for freedesktop.org browser.
+	(browse-url-default-browser): Try freedesktop.org browser first,
+	fix order of other tried browsers.
+
+	* browse-url-xemacs.el (browse-url-menu): Add SeaMonkey and
+	freedesktop.org items.
+
 2006-10-21  Norbert Koch  <viteno at xemacs.org>
 
 	* Makefile (VERSION): XEmacs package 1.78 released.



1.6       +15 -0     XEmacs/packages/xemacs-packages/mail-lib/browse-url-xemacs.el

Index: browse-url-xemacs.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/mail-lib/browse-url-xemacs.el,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- browse-url-xemacs.el	2005/03/09 11:14:56	1.5
+++ browse-url-xemacs.el	2007/01/21 21:06:22	1.6
@@ -115,6 +115,13 @@
 	    :selected (eq browse-url-browser-function 'browse-url-firefox)
 	    :active (and (fboundp 'browse-url-firefox)
 			 (executable-find browse-url-firefox-program))]
+	   ["Seamonkey"
+	    (customize-set-variable 'browse-url-browser-function
+				    'browse-url-seamonkey)
+	    :style radio
+	    :selected (eq browse-url-browser-function 'browse-url-seamonkey)
+	    :active (and (fboundp 'browse-url-seamonkey)
+			 (executable-find browse-url-seamonkey-program))]
 	   ["G%_aleon"
 	    (customize-set-variable 'browse-url-browser-function
 				    'browse-url-galeon)
@@ -140,6 +147,14 @@
 	    :selected (eq browse-url-browser-function 'browse-url-default-windows-browser)
 	    :active (and (fboundp 'mswindows-shell-execute)
 			 (fboundp 'browse-url-default-windows-browser))]
+	   ["Free%_desktop.org Default Browser"
+	    (customize-set-variable 'browse-url-browser-function
+				    'browse-url-default-xdg-browser)
+	    :style radio
+	    :selected (eq browse-url-browser-function
+			  'browse-url-default-xdg-browser)
+	    :active (and (fboundp 'browse-url-default-xdg-browser)
+			 (executable-find browse-url-xdg-open-program))]
 	   ["G%_eneric Browser"
 	    (customize-set-variable 'browse-url-browser-function
 				    'browse-url-generic)



1.38      +28 -3     XEmacs/packages/xemacs-packages/mail-lib/browse-url.el

Index: browse-url.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/mail-lib/browse-url.el,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -p -r1.37 -r1.38
--- browse-url.el	2006/10/19 19:57:06	1.37
+++ browse-url.el	2007/01/21 21:06:22	1.38
@@ -58,6 +58,7 @@
 ;; browse-url-generic                 arbitrary
 ;; browse-url-default-windows-browser MS-Windows browser
 ;; browse-url-default-macosx-browser  Mac OS X browser
+;; browse-url-default-xdg-browser     freedesktop.org browser
 ;; browse-url-gnome-moz               GNOME interface to Mozilla
 ;; browse-url-kde                     KDE konqueror (kfm)
 ;; browse-url-opera                   Opera
@@ -250,6 +251,8 @@
    ((memq system-type '(windows-nt ms-dos cygwin32)) ;; XEmacs change
     'browse-url-default-windows-browser)
    ((memq system-type '(darwin)) 'browse-url-default-macosx-browser)
+   ;; XEmacs TODO: add 'browse-url-default-xdg-browser here, but how to detect
+   ;; a freedesktop.org desktop?  executable-find xdg-open is not the way.
    (t 'browse-url-default-browser))
   "*Function to display the current buffer in a WWW browser.
 This is used by the `browse-url-at-point', `browse-url-at-mouse', and
@@ -290,6 +293,9 @@ regexp should probably be \".\" to speci
 			 :value browse-url-default-windows-browser)
 	  (function-item :tag "Default Mac OS X browser"
 			 :value browse-url-default-macosx-browser)
+	  ;; XEmacs addition
+	  (function-item :tag "Default freedesktop.org browser"
+			 :value browse-url-default-xdg-browser)
 	  (function-item :tag "GNOME invoking Mozilla"
 			 :value browse-url-gnome-moz)
 	  (function-item :tag "Default browser"
@@ -859,6 +865,22 @@ to use."
   (interactive (browse-url-interactive-arg "URL: "))
   (start-process (concat "open " url) nil "open" url))
 
+;; XEmacs addition
+;;;###autoload
+(defcustom browse-url-xdg-open-program "xdg-open"
+  "*The name by which to invoke xdg-open."
+:type 'string
+:group 'browse-url)
+
+;; XEmacs addition
+;;;###autoload
+(defun browse-url-default-xdg-browser (url &optional new-window)
+  (interactive (browse-url-interactive-arg "URL: "))
+  (let ((process-environment (browse-url-process-environment))
+	(process-connection-type nil))
+    (start-process (concat browse-url-xdg-open-program " " url) nil
+		   browse-url-xdg-open-program url)))
+
 ;; --- Netscape ---
 
 (defun browse-url-process-environment ()
@@ -894,11 +916,14 @@ the effect of `browse-url-new-window-fla
 When called non-interactively, optional second argument NEW-WINDOW is
 used instead of `browse-url-new-window-flag'.
 
-The order attempted is emacs-w3m, gnome-moz-remote, Mozilla, Firefox,
-SeaMonkey, Galeon, Konqueror, Netscape, Opera, Mosaic, IXI Mosaic,
-Lynx in an xterm, MMM, and then W3."
+The order attempted is freedesktop.org default, gnome-moz-remote, Mozilla,
+Firefox, SeaMonkey, Galeon, Konqueror, Netscape, Opera, Mosaic, IXI Mosaic,
+emacs-w3m, Lynx in an xterm, MMM, and then W3."
   (apply
     (cond
+     ;; XEmacs addition
+     ((executable-find browse-url-xdg-open-program)
+      'browse-url-default-xdg-browser)
      ((executable-find browse-url-gnome-moz-program) 'browse-url-gnome-moz)
      ((executable-find browse-url-mozilla-program) 'browse-url-mozilla)
      ((executable-find browse-url-firefox-program) 'browse-url-firefox)





More information about the XEmacs-CVS mailing list