Commit Graph
23 Commits
Author SHA1 Message Date
Samuel Onoja ad00e55fe4 Add mouse window controls and finer display scaling (#63)
Add configurable mouse and wheel bindings, window move and resize, tab drops, cross-output dragging, and device settings. Adjust display scaling in 0.05 increments.

Preserve opposite-edge positioning during scrolling resizes and show rows for edge drops into tabbed columns.
2026-10-25 14:14:35 +01:00
Samuel Onoja 23e280a6b4 Separate library implementations from module declarations 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 a3974c2dda fix(layout): make tab bars more compact 2026-10-12 23:32:13 +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 1a02267266 Preserve tree stack windows during layout conversion 2026-10-07 10:22:41 +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 46509f880a Fix compositor output routing and pointer hints; format imports 2026-09-30 06:39:58 +01:00
Samuel Onoja 23991d5bd8 Add native Settings and complete live configuration reload
Add compact branded Settings with safe atomic edits, external config refresh and a draggable sidebar. Reconcile services, update connected displays and input devices, apply live layout policy and window rules, and resolve initial floating placement before tiled insertion. Package the Settings launcher and shared Ferese icon.
2026-09-26 20:31:05 +01:00
Samuel Onoja e85fc1e032 advance shell integration and session support 2026-09-25 09:15:07 +01:00
Samuel Onoja 94a83c83bb fix: preserve default outer gaps 2026-09-25 02:43:53 +01:00
Samuel Onoja ed529ae900 feat: animate scrolling workspace viewports 2026-09-25 02:41:19 +01:00
Samuel Onoja 9d90415e55 feat: make scrolling the active default layout 2026-09-25 02:08:04 +01:00
Samuel Onoja 8e4283bf16 feat: add scrolling column layout engine 2026-09-25 01:56:28 +01:00
Samuel Onoja a331355c8d feat: honor tiled window size constraints 2026-09-24 11:33:43 +01:00
Samuel Onoja da4aaf9fb0 feat: add invariant-safe window stacks 2026-09-24 11:30:26 +01:00
Samuel Onoja 28d845ee64 refactor: move workspace policy into core 2026-09-24 11:11:30 +01:00
Samuel Onoja 19abb033c5 feat: add invariant-safe workspace state 2026-09-24 11:06:53 +01:00
Samuel Onoja 4e4a44e210 feat: resize tiled windows directionally 2026-09-24 11:05:03 +01:00
Samuel Onoja 0d9bbe49f7 feat: move tiled windows directionally 2026-09-24 11:03:13 +01:00
Samuel Onoja 8c1184ddda feat: add smart tiling navigation 2026-09-24 11:01:19 +01:00
Samuel Onoja 03f6b9b8e1 feat: add invariant-safe layout tree 2026-09-24 06:15:30 +01:00