all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* 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 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.