Add chromium compatibility backend with per-app profiles
This commit is contained in:
51
README.md
51
README.md
@@ -91,6 +91,7 @@ flowchart TD
|
||||
|
||||
- Requires Tauri/Linux system dependencies to be installed locally before `deskify build`
|
||||
- Generated app build success can vary by distro/system setup (WebKitGTK/Tauri prerequisites)
|
||||
- Some modern sites fail or degrade in the system WebView backend (`tauri`) due to engine/runtime differences
|
||||
- No official cross-platform support (Windows/macOS) yet
|
||||
- GitHub Releases / binary automation for `deskify` itself may lag behind source updates during early MVP
|
||||
- DRM/protected-media services may not work reliably in the system WebView backend even if they work in a full browser (depends on WebView/DRM support)
|
||||
@@ -211,11 +212,20 @@ Once the build finishes, `ChatGPT` will instantly appear in your system Applicat
|
||||
|
||||
`deskify` derives a safe internal ID from the app name (for example, `ChatGPT` becomes `chatgpt`).
|
||||
|
||||
### Backend Modes (`--backend`)
|
||||
|
||||
Deskify supports two backend modes:
|
||||
|
||||
- `tauri` (default): Uses the system WebView (`webkit2gtk` on Linux). Produces small wrappers and strong Linux desktop integration, but some sites may fail due to engine compatibility.
|
||||
- `chromium`: Uses an already installed Chromium-based browser (`chromium`, `google-chrome`, `brave`, etc.) in app mode. Better site compatibility and no local Tauri build, but depends on a browser installed on the system.
|
||||
|
||||
If a site does not work in the default `tauri` backend, try `--backend chromium`.
|
||||
|
||||
#### Advanced Build Options
|
||||
```bash
|
||||
deskify build \
|
||||
--url "https://web.whatsapp.com" \
|
||||
--name "WhatsApp" \
|
||||
--url "https://example.com/dashboard" \
|
||||
--name "Dashboard" \
|
||||
--fullscreen \
|
||||
--user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/120.0.0.0 Safari/537.36" \
|
||||
--dark-mode \
|
||||
@@ -240,6 +250,32 @@ Preview the generated Tauri config without building/installing:
|
||||
deskify build --url "https://chat.com" --name "Chat" --print-config
|
||||
```
|
||||
|
||||
Chromium compatibility mode (no local Tauri build):
|
||||
|
||||
```bash
|
||||
deskify build --url "https://mail.proton.me" --name "Proton Mail" --backend chromium
|
||||
```
|
||||
|
||||
Chromium with shared browser profile (uses existing browser profile/session model):
|
||||
|
||||
```bash
|
||||
deskify build \
|
||||
--url "https://app.slack.com" \
|
||||
--name "Slack" \
|
||||
--backend chromium \
|
||||
--profile-scope shared
|
||||
```
|
||||
|
||||
Chromium with explicit browser binary:
|
||||
|
||||
```bash
|
||||
deskify build \
|
||||
--url "https://github.com" \
|
||||
--name "GitHub" \
|
||||
--backend chromium \
|
||||
--browser-bin /usr/bin/brave-browser
|
||||
```
|
||||
|
||||
Preview planned actions only (dry run):
|
||||
|
||||
```bash
|
||||
@@ -252,9 +288,17 @@ deskify build --url "https://chat.com" --name "Chat" --dry-run
|
||||
* `--user-agent <UA>`: Useful to bypass webview restrictions on certain platforms.
|
||||
* `--dark-mode`: Forces the Tauri webview into a dark theme.
|
||||
* `--width <PX>` / `--height <PX>`: Sets the startup resolution.
|
||||
* `--backend <tauri|chromium>`: Choose system WebView (`tauri`) or Chromium app mode (`chromium`).
|
||||
* `--browser-bin <PATH>`: Use a specific Chromium-based browser binary (Chromium backend only).
|
||||
* `--profile-scope <isolated|shared>`: Chromium backend profile behavior (`isolated` creates a per-app profile under `~/.local/share/deskify/profiles/`).
|
||||
* `--print-config`: Prints the generated `tauri.conf.json` and exits.
|
||||
* `--dry-run`: Shows planned actions without building/installing.
|
||||
|
||||
Note for Chromium backend:
|
||||
|
||||
- `--no-decorations` is best-effort and may be ignored by the browser/window manager.
|
||||
- `--width` and `--height` are applied together (`--window-size`) only when both are provided.
|
||||
|
||||
### Managing Apps (`list` & `remove`)
|
||||
You can view all applications generated by `deskify`:
|
||||
```bash
|
||||
@@ -284,6 +328,7 @@ deskify update chat --url "https://chat.com" --name "Chat" --no-decorations
|
||||
```
|
||||
|
||||
Alpha note: `update` currently requires `--url` because Deskify does not persist app URLs/config metadata yet.
|
||||
`update <id>` keeps the existing internal ID stable even if you change the display name.
|
||||
|
||||
You can also preview an update:
|
||||
|
||||
@@ -300,6 +345,8 @@ Check local prerequisites and common environment issues (Rust/Cargo, `cargo taur
|
||||
deskify doctor
|
||||
```
|
||||
|
||||
`doctor` also checks whether a Chromium-based browser is available in `PATH` for `--backend chromium`.
|
||||
|
||||
---
|
||||
|
||||
## 🧪 Manual Smoke Test Checklist (Before a Public Release)
|
||||
|
||||
Reference in New Issue
Block a user