std/browsers

Search:
Source   Edit  

This module implements a simple proc for opening URLs with the user's default browser.

Unstable API.

Consts

osOpenCmd = "xdg-open"
Alias for the operating system specific "open" command, "open" on OSX, MacOS and Windows, "xdg-open" on Linux, BSD, etc. Source   Edit  

Procs

proc openDefaultBrowser() {....deprecated: "not implemented, please open with a specific url instead",
                            raises: [IOError],
                            tags: [ExecIOEffect, ReadEnvEffect, RootEffect],
                            forbids: [].}
Deprecated: not implemented, please open with a specific url instead

Intends to open the user's default browser without any url (blank page). This does not block. Intends to implement IETF RFC-6694 Section 3, ("about:blank" is reserved for a blank page).

Beware that this intended behavior is not implemented and considered not worthy to implement here.

The following describes the behavior of current implementation:

  • Under Windows, this will only cause a pop-up dialog asking the assocated application with about (as Windows simply treats about: as a protocol like http).
  • Under Mac OS X the open "about:blank" command is used.
  • Under Unix, it is checked if xdg-open exists and used if it does and open the application assocated with text/html mime (not x-scheme-handler/http, so maybe html-viewer other than your default browser is opened). Otherwise the environment variable BROWSER is used to determine the default browser to use.

This proc doesn't raise an exception on error, beware.

block: openDefaultBrowser()

See also:

Source   Edit  
proc openDefaultBrowser(url: string) {....raises: [IOError], tags: [ExecIOEffect,
    ReadEnvEffect, RootEffect], forbids: [].}

Opens url with the user's default browser. This does not block. The URL must not be empty string, to open on a blank page see openDefaultBrowser().

Under Windows, ShellExecute is used. Under Mac OS X the open command is used. Under Unix, it is checked if xdg-open exists and used if it does. Otherwise the environment variable BROWSER is used to determine the default browser to use.

This proc doesn't raise an exception on error, beware.

block: openDefaultBrowser("https://nim-lang.org")

Source   Edit