From: "Rüdiger Sonderfeld" <ruediger@c-plusplus.de>
To: 15707@debbugs.gnu.org
Cc: Lars Magne Ingebrigtsen <larsi@gnus.org>
Subject: bug#15707: [PATCH 5/8] EWW: Option to always use external-browser for certain content.
Date: Fri, 25 Oct 2013 01:44 +0200 [thread overview]
Message-ID: <1579034.yJTXVbOWVp@descartes> (raw)
In-Reply-To: <cover.1382658061.git.ruediger@c-plusplus.de>
Emacs can not display videos and has only limited audio support.
Therefore it makes sense to call an external browser for links of that
kind. This is also a problem because shr turns <video> and <audio>
tags into links to the media.
* lisp/net/eww.el (eww-use-external-browser-for-content-type): New
customizable 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.
Signed-off-by: Rüdiger Sonderfeld <ruediger@c-plusplus.de>
---
lisp/net/eww.el | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/lisp/net/eww.el b/lisp/net/eww.el
index ccc2399..6335bd8 100644
--- a/lisp/net/eww.el
+++ b/lisp/net/eww.el
@@ -75,6 +75,14 @@ (defcustom eww-form-checkbox-symbol "[ ]"
(const "☐") ; Unicode BALLOT BOX
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)
@@ -173,10 +181,14 @@ (defun eww-render (status url &optional point)
(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))
- ((string-match "^image/" (car content-type))
- (eww-display-image))
+ ((string-match-p "\\`image/" (car content-type))
+ (eww-display-image url))
(t
(eww-display-raw)))
(setq eww-current-url url
@@ -929,11 +941,11 @@ (defun eww-submit ()
"?"
(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-copy-page-url ()
(interactive)
--
1.8.4.1
next prev parent reply other threads:[~2013-10-24 23:44 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1382658061.git.ruediger@c-plusplus.de>
2013-10-24 23:43 ` bug#15703: [PATCH 1/8] EWW: Support user defined representation for checkbox Rüdiger Sonderfeld
2013-10-25 15:00 ` Ted Zlatanov
2013-10-25 17:39 ` Rüdiger Sonderfeld
2013-10-25 18:04 ` Ted Zlatanov
2013-10-26 1:54 ` Stefan Monnier
2013-11-03 11:40 ` Ted Zlatanov
2013-11-04 1:50 ` Stefan Monnier
2013-11-04 16:23 ` Ted Zlatanov
2013-11-04 17:51 ` Stefan Monnier
2013-12-01 15:53 ` Lars Magne Ingebrigtsen
2013-10-24 23:43 ` bug#15704: [PATCH 2/8] EWW: Handle HTML5 input types as text input Rüdiger Sonderfeld
2013-12-01 15:38 ` Lars Magne Ingebrigtsen
2013-10-24 23:43 ` bug#15705: [PATCH 3/8] shr: Display content for video if no poster is available Rüdiger Sonderfeld
2013-12-01 15:46 ` bug#15708: " Lars Magne Ingebrigtsen
2013-10-24 23:43 ` bug#15706: [PATCH 4/8] shr: Add support for <audio> tag Rüdiger Sonderfeld
2013-12-01 15:46 ` bug#15708: " Lars Magne Ingebrigtsen
2013-10-24 23:44 ` Rüdiger Sonderfeld [this message]
2013-12-01 15:44 ` bug#15707: [PATCH 5/8] EWW: Option to always use external-browser for certain content Lars Magne Ingebrigtsen
2013-10-24 23:44 ` bug#15708: [PATCH 6/8] EWW: Erase old title Rüdiger Sonderfeld
2013-10-26 1:17 ` Rüdiger Sonderfeld
2013-10-26 11:04 ` bug#15708: [PATCH] " Rüdiger Sonderfeld
2013-12-01 15:47 ` bug#15708: [PATCH 6/8] " Lars Magne Ingebrigtsen
2013-10-24 23:44 ` bug#15709: [PATCH 7/8] shr: Handle <source> tag for video/audio elements Rüdiger Sonderfeld
2013-10-24 23:44 ` bug#15710: [PATCH 8/8] * lisp/net/shr.el: Fix typo Rüdiger Sonderfeld
2013-12-01 15:36 ` bug#15708: " Lars Magne Ingebrigtsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1579034.yJTXVbOWVp@descartes \
--to=ruediger@c-plusplus.de \
--cc=15707@debbugs.gnu.org \
--cc=larsi@gnus.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.