Successor to russmatney/clover, but dropping Electron in favor of Tauri.
Builds a binary that can be passed a window title and URL, to host a locally running web app outside of your usual browser tabs.
I use this in russmatney/clawe to run a clojurescript topbar on linux and OSX, as well as a dedicated place to run clerk notebooks.
More detail on my blog:
Build:
cargo tauri dev
Test:
./src-tauri/target/debug/clove create-window -t mytitle --url http://localhost:3333 --label mylabel
cargo tauri build
Test the prod build:
./src-tauri/target/release/clove create-window -t mytitle --url http://localhost:3333 --label mylabel
Build prod and install it in ~/.cargo/bin:
cargo install --path src-tauri/.
clove create-window \
--title some-window-title \
--url http://localhost:3333 \
--label some-unique-label
Eg at default clerk port:
clove create-window \
--title clerk-notebook \
--url http://localhost:8888 \
--label clerk-notebook
With more args:
clove create-window \
--transparent \
--decorations \
--focused \
--title clerk-notebook \
--url http://localhost:8888 \
--label clerk-notebook
There is a crash when running tauri against the latest nvidia renderers:
src/nv_gbm.c:99: GBM-DRV error (nv_gbm_bo_create): DRM_IOCTL_NVIDIA_GEM_ALLOC_NVKMS_MEMORY failed (ret=-1)
Failed to create GBM buffer of size 2279x999: Invalid argument
For now using an env var makes things work again:
WEBKIT_DISABLE_DMABUF_RENDERER=1 clove create-window ....
Some related threads: