# PLWL — Portable Linux Wine Launcher A portable launcher for Windows games and applications on Linux. ## Portable layout Everything the launcher needs lives next to the executable: ``` ./files/ wines/ imported Wine / Proton builds wineprefixes/ wine prefixes apps/ imported app folders (optional) data/ launcher config (apps.json, settings.json) translations/ translation files ``` ## Running ```bash npm install npm start ``` ## Building & installing `./build.sh` produces `build/PLWL-.tar.gz`: the Electron runtime renamed to `olcxja.plwl/` (binary `olcxja.plwl/olcxja.plwl`) with the whole app (code, renderer and bundled `files/`) packed into `olcxja.plwl/resources/app.asar`, plus the `olcxja.plwl.png` icon, `install.sh` and `createshortcut.sh`: ```bash tar -xzf PLWL-.tar.gz cd PLWL ./install.sh # copies everything to ~/.local/bin/olcxja.plwl/, # installs the icon (olcxja.plwl.png) + shortcut # removes the extraction folder, launches ./createshortcut.sh # portable mode: only installs the icon + shortcut # or run without any shortcuts: ./olcxja.plwl/olcxja.plwl ``` ## Wine & Proton support - **System Wine** — uses the `wine` binary from PATH. - **Imported builds** — drop any wine or Proton build into `files/wines/`. The folder may contain the build directly, or one level of nesting (zip-extracted layouts are detected automatically). - **Proton without Steam** — fully supported. Proton is invoked like Steam does it: `STEAM_COMPAT_CLIENT_INSTALL_PATH` points to a fake steam client folder, `STEAM_COMPAT_DATA_PATH` is a per-build compat folder, and the prefix lives at `/pfx` which PLWL links to its own prefix folder. No Steam installation required (GE builds work out of the box; for a few Valve builds that refuse to run without a client, PLWL fakes a minimal steam folder in `files/data/fake-steam`). ## Translations All UI text comes from JSON files in `files/translations/`. The `data` object carries the language names; `texts` maps keys to strings, with `{0}`, `{1}` ... placeholders filled at runtime.