claude e4e4d39405
Some checks failed
check / check (push) Failing after 1m4s
Fixa omladdningsloopen + churn; CI/släpp flyttat till x64-byggnoden
- KRITISKT: notify-watchern reagerade på Access-events, så vår egen
  läsning av configen triggade ny omladdning i all oändlighet (var
  155:e ms). Panelen revs och byggdes om konstant → blinkande hover,
  klick som aldrig landade. Nu filtreras eventen till riktiga
  skrivningar (Modify/Create/Remove/Close-Write).
- Titeländringar (webbläsare/terminaler) bygger inte längre om UI:t;
  tooltips slås i stället upp färskt vid hover (query-tooltip), och
  klick/skroll/menyer agerar på färskt fönster-state vid eventtillfället.
- hotspots::rebuild är idempotent (skippar om config+skärmar oförändrade).
- Settings: markup-escape i rubriker (Kant & skugga-varningen).
- CI: check + release körs på byggnoden brasse-linux01 (runs-on
  linux-amd64) — waydock byggs BARA för x86_64, aldrig på Pi5:ns
  arm-runner. Ny release.yaml: vX.Y.Z-tagg bygger x64-binären och
  laddar upp till Gitea-släppsidan + rullande latest. release.sh är
  nu bara tagga-och-pusha.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-29 23:51:27 +02:00

waydock

Modern, resurssnål och genomkonfigurerbar dock för Wayfire — 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.

Beroenden (Arch/Garuda)

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

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)

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

./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 (+ rullande latest).

Description
docker par transparent centrerad "ö" av appar
Readme 6.8 MiB
2026-08-30 15:38:15 +02:00
Languages
Rust 98.6%
Shell 1.4%