# WebengineKiosk

[![Hex version]( "Hex version")](

Launch and control a fullscreen web browser from Elixir. This is intended for
kiosks running [Nerves]( but can be used anywhere
you need to show a user a local web-based UI.

Here's an example run:

iex> {:ok, kiosk} = WebengineKiosk.start_link(fullscreen: false)
iex> WebengineKiosk.go_to_url(kiosk, "")
iex> WebengineKiosk.run_javascript(Display, "window.alert('Hello, Elixir!')")
iex> WebengineKiosk.stop(kiosk)

It can also be linked into your application's supervision tree:

# Example childspecs

      {WebengineKiosk, {[homepage: "", background: "black"], name: MyKiosk}}

# Somewhere else in your code

WebengineKiosk.run_javascript(Display, "window.alert('Hello, Elixir!')")

## Kiosk options

Doc all of the options here!

## Installation

`WebengineKiosk` requires [Qt]( It is likely that your package
manager already has a Qt package.

On Debian or Ubuntu:

sudo apt install qtwebengine5-dev qtmultimedia5-dev qt5-default


brew install qt

If you are installing Qt manually, then the first time that you run `mix`,
you'll need to point to the installation location. If you don't, you'll either
get an error that `qmake` isn't found or you'll being using your system's
version of Qt. Here's an example commandline:

QMAKE=~/Qt/5.11.1/gcc_64/bin/qmake mix compile

Finally, if you're using Nerves, you'll need a Nerves system that includes Qt.
Take a look at
[kiosk_system_rpi3]( for an

Once you've done all that, go ahead and add `webengine_kiosk` to your `mix.exs`
dependencies like normal:

def deps do
    {:webengine_kiosk, "~> 0.1.0"}

Documentation can be found at