- Add optional modifier-only Super binding whose tap is cancelled by
other input, focus changes, grabs, locks, and session teardown.
- Ship the native ferese-rime user service, Rime defaults, installer
inventory, package dependencies, session environment, and docs.
- Vendor Smithay 8a27023 with the SHM texture-cache format fix and add
GPU regressions for format changes and resize snapshots.
- Release reused CRTC owners before staging output modes, then restore
changed outputs before former owners when a transaction fails.
- Wait for resize-capture GPU completion, expand filtered surface
damage, and preserve IME popup origin under fractional scaling.
- Mark weekends like holidays in both calendar layouts.
Avoid background title updates when no shell window list is visible, and skip output and capture invalidation for titles outside compositor decorations. Preserve focused titles, fresh window lists and capture privacy.
Request high EGL context priority with fallback, cover rendering and native title behavior in CI, and keep audio recording flowing while video capture is idle.
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.
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.
Include observed timer dispatch delay in the render budget, capped at one refresh and decayed by elapsed time. Preserve the scheduled presentation target and output-local state. Existing scheduling assertions remain intact; a negative control verifies the new deadline regression.
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.
Carry output identity through floating placement and restore, and retain the owning output when saved geometry overlaps multiple monitors equally.
Fixes#59.
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.
Clear the old exception when a dialog is unparented or reparented, and remove child references when a parent is destroyed. Preserve floating placement while rebuilding the stacking order.
Fixes#55
Add configurable work and break intervals, pause/resume, CLI and activity-popup controls, and silent completion alerts. Use CLOCK_BOOTTIME deadlines so running timers include suspend without consuming paused time.
Refs #31
Add named keyboard shortcut maps with an Escape exit and a panel indicator. Keep press/release ownership across transitions, validate remapped Escape keys, and cancel stale repeats and focus previews.
Give the indicator ownership of the panel while a mode is active. Close popovers, collapse Morph, and keep Live Activities data current without resizing the hidden panel. Document configuration and transition behavior.
Validation: 1,519 workspace Rust tests passed; 70 Python tests passed. Workspace build, formatting, Clippy, and Settings configuration validation passed. Opt-in native desktop checks were not rerun because Weston is absent.
Related: #5.
* Add Live Activities as configurable bar items
* Fix activity owner monitoring and Morph list interactions
* Keep activity rows stable during updates and tighten their layout
* Use subtle theme tint for activity cards
* Tighten activity title and progress spacing
* Use theme accent for active progress rings
* Fit compact activities to measured titles and badge
* Expose Live Activities display controls in Settings
* Open activity terminals and streamline the Morph header
* Give Morph continuous icons and prioritize workspace navigation
* Show activity progress inside its ring
* Inset activity progress rings and strengthen their stroke
* Fix activity lifecycle, command output handling and list navigation
* Reduce activity update work and harden publisher lifetimes
* Set up Live Activities for the detected user shell during installation
* Document Activities setup, daily use and troubleshooting
* Preserve Morph idle width across empty activity updates
* Fix dimming flicker, hide inactive music tab and consolidate Activities docs
* Fix panel clearance across styles and match previews to theme settings
* Prevent panel blur from repainting neighboring islands
---------
Co-authored-by: Samuel Onoja <[email protected]>
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.
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.
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.
* 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
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.
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.
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.
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.