* bug#30981: Document how to use $BROWSER for external browser [not found] ` <b4mo9j765qe.fsf@jpl.org> @ 2018-03-29 2:22 ` 積丹尼 Dan Jacobson 2018-03-30 0:31 ` Glenn Morris 0 siblings, 1 reply; 4+ messages in thread From: 積丹尼 Dan Jacobson @ 2018-03-29 2:22 UTC (permalink / raw) To: 30981; +Cc: Katsumi Yamaoka Gentleman, other programs know to just use $BROWSER when calling the external browser. But for emacs and gnus, one must hire a consultant to achieve the same effect. At least one of the manuals should say how. And in fact, if $BROWSER is good enough for other programs, it should be the default for emacs/gnus too. >>>>> "KY" == Katsumi Yamaoka <yamaoka@jpl.org> writes: KY> On Tue, 27 Mar 2018 09:31:34 +0800, 積丹尼さん wrote: >> RET runs the command shr-browse-url, which is an interactive compiled >> Lisp function in ‘shr.el’. KY> `shr-browse-url' runs the Lisp function `browse-url' (unless the KY> prefix argument is given when invoking `shr-browse-url'). KY> So, in the normal way that browse-url's author supposed, you can KY> choose a certain ready-made Lisp function as you like as follows: KY> (setq browse-url-browser-function #'browse-url-firefox) KY> To see the ready-made functions you can use, do: KY> M-x customize-option RET browse-url-browser-function RET KY> ;; You will see browse-url-firefox, browse-url-chromium, etc. >> I want it to call $BROWSER from the environment. >> ;;(if (string-equal (getenv "BROWSER") "chromium") >> ;; nil (setq browse-url-chromium-program >> ;; (concat "/usr/bin/" (getenv "BROWSER")))) ;I am a dork >> (setq browse-url-default-browser (getenv "BROWSER")) KY> `browse-url-default-browser' is a function, not a variable, and KY> is one of candidates for `browse-url-browser-function'. So, KY> this (setq ...) form has no effect. But you are not a dork. :-) Wrong. KY> You can create your own Lisp function that sees "BROWSER". KY> For example: KY> (setq browse-url-browser-function #'my-browse-url-default-browser) KY> (defun my-browse-url-default-browser (url &optional _dummy) KY> "Run a browser that the environment variable BROWSER specifies. KY> BROWSER may be an existing shell command name, or a command name plus KY> some arguments like: \"firefox\", or \"firefox -new-tab\"" KY> (interactive (browse-url-interactive-arg "URL: ")) KY> (let ((process-environment (browse-url-process-environment)) KY> (browser (getenv "BROWSER")) KY> args name) KY> (setq browser (split-string browser) KY> args (cdr browser) KY> browser (car browser) KY> name (concat (file-name-nondirectory browser) KY> " " (mapconcat #'identity args " ") KY> " " url) KY> url (browse-url-encode-url url)) KY> (apply 'start-process name nil (executable-find browser) KY> (append args (list url))))) Waaa... it actually works! Thanks! ^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#30981: Document how to use $BROWSER for external browser 2018-03-29 2:22 ` bug#30981: Document how to use $BROWSER for external browser 積丹尼 Dan Jacobson @ 2018-03-30 0:31 ` Glenn Morris 2018-03-30 6:01 ` Katsumi Yamaoka 0 siblings, 1 reply; 4+ messages in thread From: Glenn Morris @ 2018-03-30 0:31 UTC (permalink / raw) To: 30981, Katsumi Yamaoka xdg-open respects BROWSER, and xdg-open is the browse-url default on GNU/Linux. browse-url-can-use-xdg-open was overly restrictive prior to 26.1. In Emacs 26.1 it probably Just Works. ^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#30981: Document how to use $BROWSER for external browser 2018-03-30 0:31 ` Glenn Morris @ 2018-03-30 6:01 ` Katsumi Yamaoka 2018-03-30 8:30 ` 積丹尼 Dan Jacobson 0 siblings, 1 reply; 4+ messages in thread From: Katsumi Yamaoka @ 2018-03-30 6:01 UTC (permalink / raw) To: 積丹尼 Dan Jacobson; +Cc: 30981 On Thu, 29 Mar 2018 20:31:57 -0400, Glenn Morris wrote: > xdg-open respects BROWSER, and xdg-open is the browse-url default on GNU/Linux. > browse-url-can-use-xdg-open was overly restrictive prior to 26.1. > In Emacs 26.1 it probably Just Works. Thanks. Though I'm not on GNU/Linux now, is it ok to close this bug Jidanni? You should have xdg-open if you are on GNU/Linux. Even if (browse-url-can-use-xdg-open) returns nil, you can do: (setq browse-url-browser-function #'browse-url-xdg-open) ^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#30981: Document how to use $BROWSER for external browser 2018-03-30 6:01 ` Katsumi Yamaoka @ 2018-03-30 8:30 ` 積丹尼 Dan Jacobson 0 siblings, 0 replies; 4+ messages in thread From: 積丹尼 Dan Jacobson @ 2018-03-30 8:30 UTC (permalink / raw) To: Katsumi Yamaoka; +Cc: 30981-done OK I'll close it! Thanks. >>>>> "KY" == Katsumi Yamaoka <yamaoka@jpl.org> writes: KY> On Thu, 29 Mar 2018 20:31:57 -0400, Glenn Morris wrote: >> xdg-open respects BROWSER, and xdg-open is the browse-url default on GNU/Linux. >> browse-url-can-use-xdg-open was overly restrictive prior to 26.1. >> In Emacs 26.1 it probably Just Works. KY> Thanks. Though I'm not on GNU/Linux now, is it ok to close this KY> bug Jidanni? You should have xdg-open if you are on GNU/Linux. KY> Even if (browse-url-can-use-xdg-open) returns nil, you can do: KY> (setq browse-url-browser-function #'browse-url-xdg-open) ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-03-30 8:30 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <87vadi483t.fsf@jidanni.org> [not found] ` <b4mo9j765qe.fsf@jpl.org> 2018-03-29 2:22 ` bug#30981: Document how to use $BROWSER for external browser 積丹尼 Dan Jacobson 2018-03-30 0:31 ` Glenn Morris 2018-03-30 6:01 ` Katsumi Yamaoka 2018-03-30 8:30 ` 積丹尼 Dan Jacobson
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).