{-| Module : Web.Browser Description : Open a web browser from Haskell Copyright : (c) rightfold 2015 License : BSD3 Maintainer : public@pilgrem.com Open a web browser from Haskell. Supported operating systems are Windows, macOS, Linux and BSD. -} module Web.Browser ( openBrowser ) where import qualified Web.Browser.OS as OS -- | Seeks to open the given item. If the item is a URL or another item -- associated with a web browser (for example, it represents a local @.html@ -- file), seeks to open it in the user's preferred web browser. Returns whether -- or not the operation succeeded. -- -- No checks are performed on the nature or validity of the given item. -- -- Implemented using: -- -- * on Windows, the \'open\' operation provided by the Win32 API. For an item -- that represents a file, equivalent double-clicking on the file's icon; -- -- * on macOS, the \'open\' application, if it is on the user's PATH. For an -- item that represents a file, equivalent to double-clicking on the file's -- icon; and -- -- * on Linux, FreeBSD, OpenBSD or NetBSD, the \'xdg-open\' application, if it -- is on the user's PATH, via \'sh\' to allow the application's output to be -- silenced. -- -- On other operating systems, the operation always fails. openBrowser :: String -- ^ URL or other item to try to open -> IO Bool openBrowser :: String -> IO Bool openBrowser = String -> IO Bool OS.openBrowser