Chose what browser to launch Pluto in

I believe that I can add a kwarg in my Pluto.run() command to chose the browser to launch the notebook in. I can however not find anything about it over at github, and because there is no comprehensive documentations I don’t know where to search. I started looking for the definition of the run method in the source-code, but that was tedious and should honestly be unnessecary.

So - do anyone know what keyword-arguments to add to control the browser, and what option are out there?

1 Like

Are you sure that this kwarg exists?

help?> Pluto.run()
  Pluto.run()

  Start Pluto!

  Keyword arguments
  ===================

  You can configure some of Pluto's more technical behaviour using keyword arguments, but this is mostly meant to support testing and strange setups like Docker. If you want to do something exciting with Pluto, you can probably write a
  creative notebook to do it!

  Pluto.run(; kwargs...)

  For the full list, see the Pluto.Configuration module. Some common parameters:

    •  launch_browser: Optional. Whether to launch the system default browser. Disable this on SSH and such.

    •  host: Optional. The default host is "127.0.0.1". For wild setups like Docker and heroku, you might need to change this to "0.0.0.0".

    •  port: Optional. The default port is 1234.

  Technobabble
  ==============

  This will start the static HTTP server and a WebSocket server. The server runs synchronously (i.e. blocking call) on http://[host]:[port]/. Pluto notebooks can be started from the main menu in the web browser.

This sounds to me like launch_browser is just a true/false to set whether the system default browser should launch or not, not a kwarg to choose a different browser from the system default.

3 Likes

No

Agreed. I remembered that the kwarg existed, but I seems to have wrongly though that it could be used to chose the browser to launch in.

I’ll sumbit an issue to add this as a kwarg to Pluto.run()

A workaround I used is to edit the Pluto.jl/WebServer.jl in file. There in the function open_in_default_browser(), I changed the Base.run() line to choose a browser of my liking.

I use wsl on Windows, so I went,

Base.run(`powershell.exe firefox.exe "'$url'" `)

with firefox.exe added to my path

2 Likes

As an alternative to editing a source file, you can use @eval ModuleName code to overwrite package functionality interactively (or in a jl script that you include to run Pluto).

1 Like

You can do it manually currently with Pluto.run(launch_browser=false) and then copying the URL to the desired browser.

3 Likes