From 54770707ad7bbb6ef9ad636ee71e08bea5347715 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Sun, 9 Aug 2020 13:05:37 +0200 Subject: [PATCH] Add a command line (and MIME handler) function to start eww * lisp/net/eww.el (eww-browse): New command (bug#42768) to be used from the command line. * doc/misc/eww.texi (Command Line): Document it. --- doc/misc/eww.texi | 16 ++++++++++++++++ etc/NEWS | 6 ++++++ lisp/net/eww.el | 18 ++++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi index f9901b6fd78..85be112402c 100644 --- a/doc/misc/eww.texi +++ b/doc/misc/eww.texi @@ -52,6 +52,7 @@ modify this GNU manual.'' * Overview:: * Basics:: * Advanced:: +* Command Line:: Appendices * History and Acknowledgments:: @@ -337,6 +338,21 @@ thus allowing for the use of the usual substitutions, such as @code{\[eww-reload]} for the current key binding of the @code{eww-reload} command. +@node Command Line +@chapter Command Line Usage + +It can be convenient to start eww directly from the command line. The +@code{eww-browse} function can be used for that: + +@example +emacs -f eww-browse https://gnu.org +@end example + +This also allows registering Emacs as a @acronym{MIME} handler for the +@samp{"text/x-uri"} media type. How to do that varies between +systems, but typically you'd register the handler to call @samp{"emacs +-f eww-browse %u"}. + @node History and Acknowledgments @appendix History and Acknowledgments diff --git a/etc/NEWS b/etc/NEWS index 2f204a5b4bc..9dffd0f714c 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -603,6 +603,12 @@ mode buffer. ** EWW ++++ +*** New Emacs command line convenience function. +The 'eww-browse' command has been added, which allows you to register +Emacs as a MIME handler for "text/x-uri", and will call eww on the +supplied URL. Usage example: emacs -f eww-browse https://gnu.org + +++ *** 'eww-download-directory' will now use the XDG location, if defined. However, if "~/Downloads/" already exists, that will continue to be diff --git a/lisp/net/eww.el b/lisp/net/eww.el index edb2f729c8b..e7170b3e6d1 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -276,6 +276,24 @@ This list can be customized via `eww-suggest-uris'." (push uri uris))))) (nreverse uris))) +;;;###autoload +(defun eww-browse () + "Function to be run to parse command line URLs. +This is meant to be used for MIME handlers or command line use. + +Setting the handler for \"text/x-uri;\" to +\"emacs -f eww-browse %u\" will then start up Emacs and call eww +to browse the url. + +This can also be used on the command line directly: + + emacs -f eww-browse https://gnu.org + +will start Emacs and browse the GNU web site." + (interactive) + (eww (pop command-line-args-left))) + + ;;;###autoload (defun eww (url &optional arg buffer) "Fetch URL and render the page. -- 2.39.2