Commit Graph
39 Commits
Author SHA1 Message Date
Samuel Onoja 9c3893b36d Show and animate the cursor on the lock screen 2026-10-10 21:01:09 +01:00
Samuel Onoja 5804562c84 Fix scrolling column sizing and row presentation invariants
Resize full and fixed columns from their resolved width. Preserve active rows during removal and source widths during extraction, satisfy feasible row minima without changing weights, and keep vertical resize usable for large stacks.

Propagate viewport-coupled width cycles across every row from a common presentation motion. Cover client holds, forecasts, reversal and reduced motion with regression tests.
2026-10-07 10:00:14 +01:00
Samuel Onoja a6f24e8188 Harden desktop recovery and pre-release stability checks
Bound IPC transport deadlines while preserving portal leases, supervise desktop helper and agent recovery, and reserve final floating window geometry during placement.

Stabilize CLI output and isolated tests, expand workspace CI, resolve formatting and lint failures, and bundle the MIT license with installer compatibility.
2026-10-07 09:08:23 +01:00
Samuel Onoja a00f1c6f3a Unify scrolling viewport presentation ownership 2026-10-07 08:44:40 +01:00
Samuel Onoja 4a9880eaad Support keyboard movement and resizing for floating windows 2026-10-07 08:19:33 +01:00
Samuel Onoja 76112b59ac Add MRU focus switching between tiled and floating layers 2026-10-07 08:13:42 +01:00
Samuel Onoja bbc5b27c25 Add unified window focus opacity and dimming effects 2026-10-07 07:00:30 +01:00
Samuel Onoja a6f83689f8 Add XWayland support (#16)
* save dev state

* fix xwayland-satellite supervisor lifecycle, readiness and cleanup

* remove wayland scanner protocol generated files

* default xwayland enabled with path

* remove jargons

* address x11 review: park unconfirmed cleanup, never signal a reaped group, fix storm test and notify dir mode

* fix resize tests: never build Size values from negative dimensions

* add min-width/min-height window rules that replace client minimum sizes

* rename effective_size_constraints to effective_minimum_size and minor cleanups
2026-10-06 19:40:22 +01:00
Samuel Onoja 73f21e20ce general improvement and bug fixes, cursor scaling, DMA-BUF routing and nested backend recovery
ignore performance-baseline.md

more improvement and code quality fixes
2026-10-04 18:33:05 +01:00
Samuel Onoja 405c74af9f fix compositor edge cases, process handing and other cool improvements 2026-10-04 17:11:40 +01:00
Samuel Onoja 5706a71941 Simplify compositor and shell conditionals
Flatten nested guards in swipe cleanup, recording updates and popup dismissal. Use an eager optional fallback for workspace layouts and an array in the malformed-opacity test.
2026-10-04 14:43:43 +01:00
Samuel Onoja a2f5a7ffba Fix collective resize waits and fullscreen ownership 2026-10-04 08:16:03 +01:00
Samuel Onoja d5a829eb16 Decouple scrolling translation from resize readiness
Track configure-owned presentation dependencies so independent viewport translation can continue while clients resize. Preserve linked reflow waits, native snapshots, handoff deadlines and shared rendering/input coordinates.

Closes #10.
2026-10-04 08:05:44 +01:00
Samuel Onoja c1801e1f07 fix overview entrance animation 2026-10-04 07:53:34 +01:00
Samuel Onoja 453ec16583 Protect selected windows from screen capture
Add capture privacy rules for windows, transient children, overview previews and client cursors, with separate capture rendering and deferred-frame invalidation. Keep detached close snapshots out of captures after clients leave the registry.

Validated with release workspace tests, private compositor/EGL regressions, and an isolated release PipeWire capture test.
2026-10-03 10:49:01 +01:00
Samuel Onoja e6e1a2a8cf Restore inactive workspace previews in overview 2026-10-03 04:43:26 +01:00
Samuel Onoja 64a80dc069 Unify window presentation and frame-driven shell motion
Share window geometry across overview, resize snapshots and retained closes. Advance close handoffs and group retained rendering by stacking position.

Drive shell motion from surface frames, reuse settled widget content, and synchronize notification materials with each card's fade. Replace physical config keys with duration and bounce, and update documentation and regression coverage.
2026-10-03 04:22:36 +01:00
Samuel Onoja f8bc17e913 Implement Continuum compositor and shell motion 2026-10-03 03:19:11 +01:00
Samuel Onoja f5de30d037 Publish output topology through a desktop reconciliation boundary 2026-10-02 23:46:08 +01:00
Samuel Onoja 647eaf4ad9 Reduce Settings page and config reload overhead
Mount nearby shortcut and theme rows, preserve gallery keyboard navigation, reset page scrolling, and reuse native themes during palette transitions. Prepare and deduplicate live config reloads on a worker and apply only changed runtime sections.

Align pointer focus and overview selection on overlapping outputs, add regression coverage, and clean up workspace Clippy warnings.
2026-10-02 23:10:01 +01:00
Samuel Onoja 629414e0fb Fix workspace preview cards intercepting pointer input 2026-10-02 22:59:38 +01:00
Samuel Onoja 5100d533fb Confirm pending locks after output reconciliation 2026-10-02 12:14:08 +01:00
Samuel Onoja d14cd3cbd2 Extend output profiles with monitor reconciliation and mirroring 2026-10-02 12:08:19 +01:00
Samuel Onoja 8ad5293178 Model lock ownership explicitly and allow protected crash recovery 2026-10-02 08:48:01 +01:00
Samuel Onoja 96b0a9d097 Separate presentation facts from surface eligibility policy 2026-10-02 08:16:00 +01:00
Samuel Onoja 2f63cae54c Gate display frame callbacks on shared presentation visibility 2026-10-02 07:59:41 +01:00
Samuel Onoja 6b2974d0fa Track displayed surface visibility for idle inhibition 2026-10-02 07:57:15 +01:00
Samuel Onoja 325835f40a Invalidate blur from per-output sampled backdrop damage 2026-10-02 04:27:07 +01:00
Samuel Onoja 6f2951c6b0 Scope redraw requests and avoid redundant animation fallback wakeups
Instrument redraw sources, per-output request coalescing, and animation fallback scheduling. Route local visual changes to their affected outputs while preserving deferred grab and gesture updates.

Schedule fallback recovery using each orphaned animation output's refresh interval, suppress it while a normal frame chain exists, and retain requested final frames after scheduling failures. Add mixed-refresh, cursor footprint, frame-chain, and disconnect regressions and document measurement limits.
2026-10-02 01:21:11 +01:00
Samuel Onoja 28e03a2624 Use analytic springs and instrument resize barriers
Share a stable damped oscillator solver across scalar and rectangle animations while preserving retarget and explicit no-crossing presentation policies. Add deterministic traces, scrolling and zoom continuity coverage, and pause-aware advancement.

Measure resize barrier and handoff timing behind resize-metrics, expose the feature through the release installer, and wait for the intended backend in isolated portal tests.
2026-10-02 00:49:52 +01:00
Samuel Onoja da60ecb719 micro optimization fixes 2026-10-01 20:47:05 +01:00
Samuel Onoja 1441875096 Unify per-monitor workspace numbering and lifecycle policy 2026-10-01 18:24:12 +01:00
Samuel Onoja 07bda5a21c Refactor window ownership and immutable frame sampling 2026-10-01 18:03:01 +01:00
Samuel Onoja a40b899b8c Schedule DRM frames against per-output presentation deadlines 2026-10-01 17:22:34 +01:00
Samuel Onoja 0162870cca Add focus history and Alt-Tab window switching 2026-10-01 16:00:23 +01:00
Samuel Onoja 91d2388d12 Fix dialog placement and decorations and compact confirmation dialogs 2026-10-01 14:36:33 +01:00
Samuel Onoja 9e966f81a0 Preserve live dimming settings and stabilize theme transition borders 2026-10-01 13:49:36 +01:00
Samuel Onoja 7b88083020 Upgrade compositor to v6 with output-aware surface preferences 2026-10-01 12:56:03 +01:00
Samuel Onoja cbf048566a Split shell, settings, and compositor into focused modules 2026-10-01 12:47:26 +01:00