Repository navigation
Releases: everyx/gnome-shell-extension-window-nativizer
Releases · everyx/gnome-shell-extension-window-nativizer
Release list
v0.11.1
0.11.1 (2026-10-21)
Bug Fixes
- decoration: derive and reconcile the clip's offscreen box (96e3ed5)
- decoration: drop the settle's reference points with the decoration episode (bcea3ad)
- decoration: hand the window whose second surface paints its box to the forced clip (509450d)
- decoration: judge the visual floor on the window's initial stable size (b844936)
- decoration: read a bare X11 shadow's owner from the buffer's alpha channel (a166c5c)
- decoration: read the FBO's scale candidates from the actor's buffer rect (fa08989)
- decoration: size and cut a window by the monitor scale the engine used (ddb575f)
- e2e: move and read one pinned window, and poll for the placement (3beda8b)
- effects: report a body disagreement only while the settle is undecided (c597566)
- hooks: keep a failed check's log instead of deleting it (d38d13a)
- manager: guard only what can fail, so a firing guard is visible (53487ed)
- rules: an absent wire field keeps the value the field table declares (6542964)
- shadow: do not report a settle that could not read the window at all (6886201)
Documentation
- decoration: target unpatched mutter, not the !5179 patchset (97f9b6f)
- model: record the flat-window inset boundary (5665b59)
- model: record why the desktop keeps the offscreen clip (f99d9df)
- readme: add the Arch Linux AUR install path (9f71b87)
- readme: describe the decisions users see, not the code behind them (2a3f04e)
- readme: merge the overview-corner and crisp-text notes into one section (664a563)
v0.11.0
0.11.0 (2026-10-16)
⚠ BREAKING CHANGES
- inspector: PickWindow now requires a boolean
debugargument. D-Bus has no default arguments, so existing callers must passfalsefor the quiet interactive pick; a call with no argument is refused with InvalidArgs. There is no non-interactive diagnostics path any more.
Features
- inspector: keep diagnostics behind the interactive PickWindow gesture (b3855d1)
- overview: keep preview cards sharp while rounding and shadowing them (86d2ba7)
- pick: show the applied subpixel phase beside the mirrored one (095ede7)
- prefs: add rules import and export via clipboard (#5) (f5e833e)
- prefs: force corners on every window in the overview (f3d2705)
Bug Fixes
- classifier: learn a window's pid when it arrives after tracking (d85e6f5)
- classifier: remember a window's pid instead of re-reading it at teardown (64d1d2b)
- classifier: retry a failed /proc read on a bounded backoff (55ea58b)
- classifier: treat a failed maps read as unknown, not a verdict (b1f83e1)
- clip: compare the settle's pair as the one buffer box they are (671e490)
- clip: derive the flat cover from device pixels (57cee81), closes #129
- clip: re-pin from the effect's actor, not the target field (a7389d7)
- clip: refuse a surface container whose box cannot be verified (706d9dc)
- clip: resolve a persistent body disagreement instead of holding forever (40cae5c)
- clip: resolve the cut's body on the paint clock, not the pass clock (85dc87f)
- clip: take the ring from the buffer that made it, not from a held value (2936d03)
- compat: ask for a cursor by shape, only where the line has one (7ac4c0d)
- compat: give 46 a way to a Cogl context (5f9472d)
- decoration: do not persist a substituted scale as the last good one (e554cee)
- decoration: guard the ring hold's reads (3f28f3e)
- decoration: keep the corner state current on passes that draw nothing (cd5b7d3)
- display: give an unreadable monitor scale its own unknown state (621f85c)
- effects: align shadow shader cutout with GTK4 analytical box shadow (baa0699)
- effects: cast the shadow by the body the clip draws (4eb43ac)
- effects: compensate Mutter Wayland subpixel grid translation to eliminate edge gaps (4cc166d)
- effects: crop a narrow window's shadow instead of scaling it (9602c32)
- effects: cut the clip and the shadow on one subpixel phase (6d17475), closes #117
- effects: cut the clip on the surface container, outside the FBO (9373af9), closes #117
- effects: decouple straight edge clipping from corner AA to prevent dragging blur (0021992)
- effects: derive the phase strategy and the shadow's phase from the clip target (a0ffc1c), closes #117 #119
- effects: eliminate overview edge aliasing and preserve mipmap LOD derivatives (b1d28d3)
- effects: excise flat window client borders with safe insets to prevent corner seams (c826e35)
- effects: extend corner slice to cover Gaussian optical decay (428676d)
- effects: extract Gaussian constant SQRT1_2 from upstream common.glsl (9cddd7c)
- effects: isolate CSD stroke normal sampling push to prevent ringless edge flicker (126f636)
- effects: land the shadow cutout on the scaled window's visual box (20ba273)
- effects: probe the mask by capability and never re-probe a masked window (13009cc)
- effects: push texture sampling inward along boundary normal to eliminate fractional scaling dark seams (83b880a)
- effects: report a repeated shadow-bake failure once per episode (e2f5a50)
- effects: snap buffer body margins symmetrically across device grid and align body edge (dc2d19c)
- effects: stop rewriting the shadow's translation when it did not move (bd58700)
- effects: suspend the clip on a degenerate target instead of painting nothing (989c200)
- effects: take the window actor as the body authority (f26bc73), closes #121
- hooks: run the performance check on push, and fix the band guard it exposed (8acb3e5)
- lib: choose the clip target by one verified rule ([bb23925](bb23925...
v0.10.0
v0.9.0
0.9.0 (2026-09-29)
Features
- style: derive which states animate from the SCSS (246b826)
- style: draw the tiled ring as a shadow layer that carries a colour (e6a627d)
- style: stop blending when the user has turned animations off (85589e6)
Bug Fixes
- compat: tell GNOME 45 apart from 49–51 by what the backend can do (8e2c7f6)
- detector: clear a client's ring only when the tiled style draws one (ea3287e)
- manager: decide the tiled decoration actor from the axes, not from the shadow (7581a76)
- manager: reconcile a focus change immediately, not after the debounce (5e24d83)
- prefs: generate the picker highlight from the Shell's own pickers (4af7402)
Performance
- shadow: advance the blend from the paint pass, not a 60Hz timer (1170675)
Documentation
- correct the API surface against the audited declarations (2050ab2)
- decoration-model: record why the two libadwaita variants are left alone (5ed8222), closes #69
- derive the API table from the audit record instead of typing it (a18e036)
- development: say what a stub may stand for, and what only pixels settle (7ba9068)
- readme: fold the related-projects list into the adw-gtk3 entry (ec0b825)
- readme: keep the license section to the license (e1698b0)
- readme: make the Chinese README correspond to the English one (a5b51a5)
- readme: show the tiled ring and the states the decoration follows (c9d9889)
- say the project is LLM-assisted, and what an EGO review rejects (052d8cd)
v0.8.1
v0.8.0
0.8.0 (2026-09-28)
Features
- effects: align shadow slices with device pixel grid and cache per scale (da3fcec)
- effects: snap window clip with grow rule and normalize shader AA to physical scale (8d8398b)
- lib: implement GTK4 physical device pixel grid snapping primitives (bc22a98)
Bug Fixes
- compat: never cache an unresolved shader uniform location (bbca576)
- core: keep the /proc probe out of the native-like-corner queries (8759cea)
- core: tolerate half-torn-down windows while reading properties (ed2ed5b)
- e2e: remove the pick-reply file in cleanup (fd5e1e9)
- effects: clamp the clip corner radius to the body it rounds (a0b83a8)
- effects: keep shadow slices ordered at degenerate window sizes (923f08f)
- effects: restart the shadow cross-fade on a mid-fade style change (72461d5)
- inspector: answer the pick even when the target window tears down (7cb6502)
- inspector: drop the D-Bus handlers GJS never disconnects (a8237f0)
- inspector: leave no picker on the stage when it cannot start (32ff95a)
- manager: finish teardown when a window's actor is already gone (39dca0b)
- manager: wire the window actor's signals once it exists (57ebade)
- monitor: bound monitor queries before Mutter logs a CRITICAL (5cfe508)
- pick: treat a whitespace-only WM_CLASS as absent (9c652c5)
- prefs: bound the pick call and report a busy pick (aa3fdbc)
- prefs: cancel the pick call when the preferences window closes (332d9d0)
- prefs: refresh the rule list on external changes and unescape group headings (c1562b2)
- rules: canonicalise a rule title's key like its state (3c32619)
- tools: fail the generators instead of silently emitting wrong output (984fcf9)
- tools: reap a dev session that never became ready (fe51bc6)
- tools: replace the deployed extension instead of merging into it (8723203)
- window: do not remember a peer-borrowed identity (3dce71a)
Performance
- manager: reconcile the focus pair, reuse the read insets, cache high contrast (5153756)
- resize-band: compute the bands in place on the allocate path (bd7ebad)
Documentation
- architecture: document GTK4 grid snap alignment and actor-local coordinate model (03e33a4)
- architecture: point shadow geometry and uniform caching at their modules (e0e9b21)
- clipTarget: record why the X11 fallback keeps a foreign first child (f6991db)
- fix three claims the code contradicts, and fill four omissions (482dfa4)
- manager: record what a throwing pid read costs (82c6802)
v0.7.0
v0.6.0
0.6.0 (2026-09-21)
⚠ BREAKING CHANGES
- rules: rules stored in the previous form are dropped, not migrated. A rule is now a per-axis reversal written as 'corners,shadow', the resize band is one of its axes, the old resize-band setting is gone, and the rule key gained has_ssd - re-add a rule from Preferences if one of yours disappears.
Features
- prefs: label the pick button, and stop showing internals (cfde3e3)
- prefs: show the window a rule was picked from (dfdb668)
- resize: band bare windows by default, opt out per kind (4d261ed)
- rules: correct every axis on a pick, and name the rows corrections (990ff0f)
- rules: distinguish windows with and without declared margin rings via has_ring (592e00e)
- rules: override each decoration axis by reversing the automatic decision (7ca1e37)
v0.5.1
0.5.1 (2026-09-19)
Bug Fixes
- dev: isolate test sandbox xdg config and enforce extension enablement (5169d58)
- manager: ignore non-decoratable window types and guard focus reconcile (ec67441), closes #13
- manager: resolve clip target to surface container when foreign widgets injected (69ed0ee), closes #16
- manager: verify compat coordinate space and react to late child injection (462bdc1)
- nativeLikeCorners: read /proc/<pid>/maps asynchronously (8611225)
- probe: resolve probe timing inversion, enforce symmetrical lifecycle, and optimize band insets (61a9b57)
- resize-band: keep the band on tiled and tile-matched windows (1b3f59c)
- resize-band: read the client and the ring it reserved, not the declared margin (062adf1)
- shadow: modulate pipeline opacity with paint opacity to fade on window close (c918f27)
- suspend clip effect during overview to prevent blurry downscaled previews (0fd03d5)
Documentation
- decoration-model: record how a tiled window's edges are decided (284fd7d)
- decoration-model: record who gets a resize band, and why (55c47fc)
- decouple implementation details and define architectural invariants (84ea8b3)
- formalize CQS purity rules, decoupled metrics, and overview suspension rationale (590cc5b)
- lib: document libxul Gecko rounded corners implementation and Bug 1850827 (02573de)
- readme: decouple metrics, elevate drag ergonomics, and polish hero layout (c08dc8a)
- readme: disclose LLM-assisted (vibe coding) development and real-world testing (ca16724)
- readme: document installation via release zip archive (fd200bb)
- readme: streamline copy, improve readability, and offload deep specs to docs (5fb9b00)