emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r115334: Option to always use external-browser for c


From: Lars Ingebrigtsen
Subject: [Emacs-diffs] trunk r115334: Option to always use external-browser for certain content.
Date: Sun, 01 Dec 2013 15:44:29 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 115334
revision-id: address@hidden
parent: address@hidden
author: RĂ¼diger Sonderfeld <address@hidden>
committer: Lars Magne Ingebrigtsen <address@hidden>
branch nick: trunk
timestamp: Sun 2013-12-01 16:44:25 +0100
message:
  Option to always use external-browser for certain content.
  * net/eww.el (eww-use-external-browser-for-content-type): New
  variable.
  (eww-render): Handle `eww-use-external-browser-for-content-type'.
  Use \\` to match beginning of string instead of ^.
  (eww-browse-with-external-browser): Provide optional URL parameter.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/net/eww.el                eww.el-20130610114603-80ap3gwnw4x4m5ix-1
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-12-01 15:41:10 +0000
+++ b/lisp/ChangeLog    2013-12-01 15:44:25 +0000
@@ -1,5 +1,11 @@
 2013-12-01  RĂ¼diger Sonderfeld  <address@hidden>
 
+       * net/eww.el (eww-use-external-browser-for-content-type): New
+       variable.
+       (eww-render): Handle `eww-use-external-browser-for-content-type'.
+       Use \\` to match beginning of string instead of ^.
+       (eww-browse-with-external-browser): Provide optional URL parameter.
+
        * net/shr.el (shr-tag-video): Display content for video if no
        poster is available.
        (shr-tag-audio): Add support for <audio> tag.

=== modified file 'lisp/net/eww.el'
--- a/lisp/net/eww.el   2013-12-01 15:38:43 +0000
+++ b/lisp/net/eww.el   2013-12-01 15:44:25 +0000
@@ -56,6 +56,14 @@
   :group 'eww
   :type 'string)
 
+(defcustom eww-use-external-browser-for-content-type
+  "\\`\\(video/\\|audio/\\|application/ogg\\)"
+  "Always use external browser for specified content-type."
+  :version "24.4"
+  :group 'eww
+  :type '(choice (const :tag "Never" nil)
+                 regexp))
+
 (defface eww-form-submit
   '((((type x w32 ns) (class color))   ; Like default mode line
      :box (:line-width 2 :style released-button)
@@ -162,11 +170,15 @@
     (unwind-protect
        (progn
          (cond
+           ((and eww-use-external-browser-for-content-type
+                 (string-match-p eww-use-external-browser-for-content-type
+                                 (car content-type)))
+            (eww-browse-with-external-browser url))
           ((equal (car content-type) "text/html")
            (eww-display-html charset url nil point))
-          ((string-match "^image/" (car content-type))
-           (eww-display-image)
-           (eww-update-header-line-format))
+          ((string-match-p "\\`image/" (car content-type))
+           (eww-display-image url))
+          (eww-update-header-line-format))
           (t
            (eww-display-raw)
            (eww-update-header-line-format)))
@@ -938,11 +950,11 @@
        "?"
        (mm-url-encode-www-form-urlencoded values))))))
 
-(defun eww-browse-with-external-browser ()
+(defun eww-browse-with-external-browser (&optional url)
   "Browse the current URL with an external browser.
 The browser to used is specified by the `shr-external-browser' variable."
   (interactive)
-  (funcall shr-external-browser eww-current-url))
+  (funcall shr-external-browser (or url eww-current-url)))
 
 (defun eww-follow-link (&optional external mouse-event)
   "Browse the URL under point.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]