Commit Graph
27 Commits
Author SHA1 Message Date
Samuel Onoja ab11269246 Add workspace screen sharing (#64)
Add workspace selection to the screen-sharing picker with pinned capture, privacy filtering and bounded capture resources. Refresh captured tab labels when title or app-ID metadata changes.
2026-10-25 13:59:34 +01:00
Samuel Onoja 533cd74c94 perf(capture): add SceneLens GPU streams and retained scene reuse
Use persistent privacy-filtered capture targets and client-owned GPU buffers with fence completion, backpressure, negotiated frame rates and shared-memory fallback.

Invalidate output views on scene changes while preserving inactive-window callbacks and capture revocation. Include OBS memory-mask negotiation and native pixel, transport and recording regressions.
2026-10-24 19:58:54 +01:00
Samuel Onoja 1b51ba83b4 Explain runtime invariants and avoid redundant unwraps 2026-10-22 01:28:03 +01:00
Samuel Onoja 1b4db0e681 Make module dependencies explicit across the workspace 2026-10-22 01:28:03 +01:00
Samuel Onoja 610478f8c7 Format Rust sources at 100 columns 2026-10-22 01:28:03 +01:00
Samuel Onoja 90879145b2 Upgrade Smithay to pinned upstream Git
Pin 8a270232f1bfc416c781273c98a3f52a812a0bba and adapt protocol dispatch, input timestamps, configure state and rendering APIs. Preserve custom lock and toplevel validation, compositor-owned key repeats, and valid layer remapping sequences.

Add native icon-buffer lifecycle regressions for the GoLand and Spotify launch failure.
2026-10-20 15:40:34 +01:00
Samuel OnojaandSamuel Onoja 9251522a69 fix(input): match layer keyboard focus to fullscreen visibility (#49)
* fix(input): require mapped layers for keyboard focus

* fix(input): match layer keyboard focus to fullscreen visibility

---------

Co-authored-by: Samuel Onoja <[email protected]>
2026-10-14 13:30:14 +01:00
Samuel Onoja a5e8ba65e2 Fix fractional-scale capture sizing and release idle capture caches 2026-10-14 13:16:24 +01:00
Samuel Onoja 07a8e50f47 Add window blur, organize Settings, and reduce launcher memory 2026-10-14 01:01:21 +01:00
Samuel Onoja f7e5efb245 Fix review findings across compositor and shell 2026-10-13 04:02:17 +01:00
Samuel Onoja bfa78f62f2 feat(layout): add tabbed window groups and scrolling columns 2026-10-12 23:26:00 +01:00
Samuel Onoja e22f0ebef9 Add panel-wide styles and the Morph hub (#26)
Panel appearance now applies to the whole panel, with seven styles: Floating, Capsules, Notch, Edge to edge, Fused islands, Adaptive and Morph.

- Share composition, geometry, and motion through the renderer-independent `ferese-panel` crate, including native materials, input regions, and Settings previews.
- Add the Morph hub with media, calendar, notifications, controls, workspace previews, hover feedback, and attached mode. Keep recording and low-battery status visible and respect window clearance.
- Cache workspace preview geometry, draw thumbnails directly, centralize Morph transitions, and keep rendering settings local to each shell instance.
- Put Record Screen in the Morph header and show the display control only when an external monitor is connected. Update panel documentation, the desktop screenshot, and native check style names.

Local validation included 660 compositor tests, 191 shell tests, isolated preview-cache checks, GPU Morph captures at 1×/1.25×/1.5×, formatting, and Clippy with warnings denied. The final header change passed all 23 Morph tests. Release workflow jobs are skipped for this PR.
2026-10-12 01:31:34 +01:00
Samuel Onoja 9c3893b36d Show and animate the cursor on the lock screen 2026-10-10 21:01:09 +01:00
Samuel Onoja bbc5b27c25 Add unified window focus opacity and dimming effects 2026-10-07 07:00:30 +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 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 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 73da6c68d2 Add Apple-style window corners with isolated shell rendering 2026-10-02 09:24:17 +01:00
Samuel Onoja 8ad5293178 Model lock ownership explicitly and allow protected crash recovery 2026-10-02 08:48:01 +01:00
Samuel Onoja 325835f40a Invalidate blur from per-output sampled backdrop damage 2026-10-02 04:27:07 +01:00
Samuel Onoja da60ecb719 micro optimization fixes 2026-10-01 20:47:05 +01:00
Samuel Onoja 07bda5a21c Refactor window ownership and immutable frame sampling 2026-10-01 18:03:01 +01:00
Samuel Onoja 9666e4ff6c Align corner clipping, antialiasing, and fractional material regions 2026-10-01 16:27:31 +01:00
Samuel Onoja f110ec80e1 Unify circular corner geometry and shader masks 2026-10-01 16:08:54 +01:00
Samuel Onoja bdc3ba435f fix clippy warnings 2026-10-01 13:24:21 +01:00
Samuel Onoja cbf048566a Split shell, settings, and compositor into focused modules 2026-10-01 12:47:26 +01:00