Files
waydock/README.md
claude b8674ce5f0
All checks were successful
check / check (push) Successful in 1m44s
Skärmbilder i README + --settings-flagga
Nya assets/screenshots (tagna i nästlad headless-Wayfire): hero-bild,
dock-närbild och settings-fönstret. Ny CLI-flagga --settings öppnar
inställningsfönstret direkt vid start.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-30 01:55:04 +02:00

75 lines
2.6 KiB
Markdown

# waydock
Modern, resurssnål och genomkonfigurerbar dock för
[Wayfire](https://wayfire.org/) — transparent Plasma 6-känsla, byggd i
Rust/GTK4 som **en enda binär**. Pinnade appar, körande fönster med
gruppering, per-skärm-kontext, konfigurerbara menyer, settings-GUI och
live-omladdning av JSON-configen.
## Skärmbilder
![waydock](assets/screenshots/dock-hero.png)
| Dockan (pins, grupper, indikatorer) | Inställningar (per skärm, live) |
|---|---|
| ![dock](assets/screenshots/dock-closeup.png) | ![settings](assets/screenshots/settings.png) |
- Config: `~/.config/waydock/config.json` (skapas automatiskt första starten)
- Djupare docs: [`doc/plan.md`](doc/plan.md),
[`doc/architecture.md`](doc/architecture.md),
[`doc/usage.md`](doc/usage.md) — samt [wikin](https://gitea.brasse-pc.eu/brasse/waydock/wiki)
## Beroenden (Arch/Garuda)
```bash
sudo pacman -S --needed gtk4 gtk4-layer-shell
rustup default stable # Rust ≥ 1.85
```
Kör kräver en wlroots-compositor med `zwlr_foreign_toplevel_manager_v1`
(Wayfire, Sway, …). Wayfire IPC-funktionerna (översikt, dodge) kräver
`ipc`-pluginen i wayfire.ini.
## Bygga & köra
```bash
git clone https://gitea.brasse-pc.eu/brasse/waydock.git
cd waydock
cargo build --release # binär: target/release/waydock
./target/release/waydock # eller: cargo run
```
I VS Code: **Ctrl+Shift+B** kör build-tasken (lägger binären i `build/`).
Loggning: `waydock --log debug` eller env `WAYDOCK_LOG=debug`,
`--log-file ~/.cache/waydock.log` för fil.
## Installera (release-binär)
```bash
curl -fsSL https://gitea.brasse-pc.eu/brasse/waydock/raw/branch/master/install.sh | sh
```
## Hur det funkar (kort)
En GTK4-process ritar ett layer-shell-fönster per skärm. En egen
Wayland-anslutning lyssnar på `zwlr_foreign_toplevel_manager_v1` för
fönsterlistan (aktivera/minimera/stäng går samma väg). `.desktop`-filer
och ikoner slås upp via gio/ikontemat. All styling genereras som CSS
från JSON-configen; en filewatcher gör att ändringar (för hand eller via
settings-GUI:t) slår igenom direkt. Wayfire IPC används för
scale/expo-toggle och fönstergeometri till intelligent autohide.
## Släpp
```bash
./release.sh v0.1.0 # taggar och pushar — CI bygger och publicerar
```
All CI kör på **byggnoden på brasse-linux01** (x64-runnern, label
`linux-amd64`) — waydock byggs bara för x86_64, aldrig på Pi5:ns
arm-runner. Push till master kör `cargo check`/`clippy`/`test`; en
vX.Y.Z-tagg bygger release-binären och laddar upp den till
[släppsidan](https://gitea.brasse-pc.eu/brasse/waydock/releases)
(+ rullande `latest`).