Skip to content

Repository files navigation

desktop_webview

Native desktop webview host for elixir-desktop.

The host is a stand-alone native binary per platform. It listens on localhost TCP and speaks JSON-RPC 2.0 (length-prefixed frames). The Elixir package implements Desktop.Platform behaviours and connects as the client. In packaged apps the host spawns the BEAM release; in development an existing BEAM can launch the host with --edw-no-beam.

Platform Engine Status
macOS WKWebView Primary — see docs/status/macos.md
Windows WebView2 Planned — docs/status/windows.md
Linux WebKitGTK Usable — docs/status/linux.md

Quick start (development)

# mix.exs
{:desktop_webview, "~> 0.1"}

# config/config.exs
config :desktop, :backend, DesktopWebview.Backend
config :desktop, :menu_adapter, DesktopWebview.Menu.Adapter

Build the native host for your OS (or use a vendored/CI binary):

./scripts/build_macos.sh   # macOS → priv/native/macos/DesktopWebView
./scripts/build_linux.sh   # Linux → priv/native/linux/DesktopWebView
mix test          # unit
mix test.e2e      # needs host binary; starts with --edw-test-rpc

Packaged layout (macOS)

MyApp.app/
  Contents/MacOS/DesktopWebView
  Contents/Resources/DesktopWebView.ini   # optional
  Contents/Resources/beam/bin/<app>

Host flags use the --edw-* prefix; all other argv is forwarded to the BEAM app. See docs/packaging.md.

Documentation

License

MIT

About

Standalone Webview Kiosk for elixir-desktop

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages