Tidigare stängdes exclusive zone av så fort autohide var aktiv —
maximerade fönster täckte då hela skärmen och dodge gömde docken,
vilket motsäger vad 'reservera plats' lovar. Nu reserveras platsen
alltid när avoid_windows är på: maximerade fönster stannar vid dockan
(och triggar aldrig dodge), medan fönster man själv drar in i zonen
fortfarande gömmer den. Tydligare etikett i settings + docs.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Dolphin visade privata sökvägar i förra omgången — nya bilder med
neutrala fönster (konsole/fastfetch, Kwrite, kcalc; Dolphin är kvar
som pin i docken men körs inte). Hero, närbild, settings och hela
sexbilds-galleriet omtagna i nästlad headless-session.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Galleri-montaget (sex configvarianter, live-omladdade i nästlad
headless-session) + kompakt beskrivning av alla configområden i README
och i configreferensens ingress (doc/usage.md).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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>
connect_released på en knapp-0-GestureClick avfyrades aldrig på
GtkButton (varken för knapp 2 eller 3) — därför visades aldrig
app-/gruppmenyn. Nu kör mitt- och högerklick varsin gest med
set_button + connect_pressed, samma mönster som panelmenyns gest som
hela tiden fungerat. Radernas högerklicksgest bytt likadant.
Verifierat live: gest → meny → mapped=true, bekräftat av Björn.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
popdown() emittar closed synkront, och closed-hanteraren lånar också
popover-stacken — register_popover höll kvar sitt borrow_mut under
drain-loopen → 'RefCell already borrowed'-panik vid högerklick när en
tidigare popover låg kvar i stacken. Stacken töms nu till en lokal
Vec innan popdown körs.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- ALLA popovers är nu grab-fria (autohide av) med gemensam
auto-stängning: pekar-leave + delay, watchdog om pekaren aldrig når
popovern, och skroll-stegning räknas som aktivitet. Grabbande menyer
krockade med tooltips ('grabbing popup with non-top most parent') —
det var därför högerklicksmenyn ibland inte öppnades.
- Popover-stack ersätter en-åt-gången: en popover vars ankare sitter i
en öppen popover nästlas i stället för att stänga föräldern, och
förälderns auto-stängning pausas medan ett barn är överst.
- Högerklick på en rad i fönsterlistan öppnar den rutans egen meny
(nästlad); högerklick på gruppikonen gäller som förut alla fönster
i gruppen.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Vänsterklick nådde ALDRIG fram: GtkButtons interna klickgest claimar
knapp 1 före vår GestureClick, så released-callbacken avfyrades bara
för mitt/höger. Primäraktionen går nu via knappens clicked-signal
(gesten hanterar bara knapp 2/3). Därmed funkar fokus/minimera,
grupplista-vid-klick och start av pinnade appar.
Ny setting behavior.scroll_stopped (none|launch): vad skroll gör på en
app utan fönster — som du bad om, eget beteende för ej startade appar.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Med en grupps lista öppen stegar skroll (på gruppikonen eller över
listan) markeringen mellan raderna — markerad rad får accentbakgrund
och triggar samma förhandsvisning som hover (peek/fokus enligt
list_hover). Funkar i både hover- och klickläge; utan öppen lista
beter sig skroll som förut (cykla fönster). Watchdogen räknar
stegning som aktivitet så listan inte stängs mitt i.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Rotorsak till att alla klick slutade fungera (även i settings):
grabbing-popovers i snabb följd + ikon-ombyggen som rev en öppen
popovers förälder gav 'Tried to map a grabbing popup with a non-top
most parent' i mängder och en fastnad pekar-grab på Wayland.
- refresh_items skjuts upp medan en popover är öppen (räknare i Ctx)
och körs när den stängts — föräldern rivs aldrig under en öppen popup.
- Bara en popover åt gången; ny popup stänger den gamla först.
- Fönsterlistan grabbar aldrig (autohide av): stängs på pointer-leave
(400 ms hover-läge / 700 ms klick-läge) + watchdog om pekaren aldrig
når listan. Därmed kan man öppna nästa grupps lista direkt utan att
första klicket bara stänger den förra.
- Listan öppnas riktad bort från dockans kant och radernas
hover-effekter armeras efter 250 ms, så raden under pekaren vid
öppning inte triggas av misstag.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- outputs{} är nu generiska JSON-överridar: vilket configfält som helst
kan sättas per skärm och deep-mergas över den globala configen
(Config::for_output). Docka, autohide, dodge, beteende, hotspots och
CSS (scopat på window.o-<connector>) läser skärmens effektiva config.
- Settings har skärmväljare överst: klickbar förhandsgranskning av
skärmarna + deras barer, 'Alla skärmar' (standard) eller enskild
skärm. Bara ändrade fält sparas som override (json-diff);
återställ-knapp tar bort skärmens överridar. * = har egna.
- Marginaler: skuggutrymmet läggs inte längre på förankrade sidor så
0 = kant i kant; minusvärden tillåts (A ner till -64, B/C -256).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Ny layoutmodell: alignment (center/start/end längs kanten), expand
(ö eller täck hela kanten) och tre marginaler — A från kanten,
B/C i början/slutet av kanten. Funkar för alla fyra positionerna.
- Settings → Layout har en ritad illustration (cairo) som visar vad
A/B/C betyder för vald position och uppdateras live.
- Fönsterlistan för grupper kan öppnas vid hover (group_popup) och
stängs när pekaren lämnar den; hover på en rad kan peeka (alla andra
fönster tonas ner via Wayfires alpha-plugin) eller fokusera fönstret
(list_hover: peek/focus/none).
- Appikon (assets/waydock.svg) + .desktop-fil; installeras av
install.sh och används av settings-fönstret.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- 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>
Autohide med Revealer-animation + sensorremsa vid kanten; dodge räknar
fönsteröverlapp via Wayfire-IPC-geometri, helt händelsestyrt via
window-rules/events/watch (ingen polling). Hotspot-ytor för hörn/kanter
med dwell + exec/ipc-actions. Urgency-puls via view-hints-changed.
IPC-socketen hittas även när pluginen aktiverats efter sessionsstart.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>