Commit Graph
100 Commits
Author SHA1 Message Date
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 259f7e93b6 Document animation configuration and desktop comparisons 2026-10-03 01:01:44 +01:00
Samuel Onoja 934380d095 Remove component boundary script and dependent CI workflow 2026-10-03 00:14:09 +01:00
Samuel Onoja ee686507c5 Check component dependency boundaries in CI 2026-10-03 00:13:42 +01:00
Samuel Onoja cc0bddbec1 Separate theme rendering from client subscriptions and materials 2026-10-03 00:12:59 +01:00
Samuel Onoja ccf7497b6f Publish theme snapshots through IPC from explicit live state 2026-10-03 00:05:29 +01:00
Samuel Onoja 8195b82073 Separate resolved theme values from configuration resolution 2026-10-02 23:57:02 +01:00
Samuel Onoja 4c3e884438 Pin theme snapshot defaults and offline preview behavior 2026-10-02 23:55:26 +01:00
Samuel Onoja c3acb5af5a Move shell configuration out of desktop core 2026-10-02 23:54:27 +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 4166c1ea29 Slow overview transitions to sixty percent speed 2026-10-02 18:47:18 +01:00
Samuel Onoja 3a79121308 fix installer killed process mask 2026-10-02 14:48:59 +01:00
Samuel Onoja 96f5ee442e Add display mode chooser and align screen-sharing styles
Open the four display modes from XF86Display or the external-monitor bar icon. Reuse output reconciliation and confirmation for manual layout changes, and notify the shell when monitor state changes.

Release backdrop locks before render-element queries to prevent blurred popups from freezing the compositor. Cover popup open, update and close with regression tests.

Share translucent card styles between display modes and capture sources, show focus rings during keyboard navigation, and align picker buttons, label sizing and footer spacing with system modals.
2026-10-02 13:25:39 +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 ac184576f6 Document bundle installation and normalize release directory permissions 2026-10-02 10:20:52 +01:00
Samuel Onoja bfec60848d Use Rust 1.95 consistently throughout the workspace 2026-10-02 10:20:52 +01:00
Samuel Onoja 50c5f94007 Assign launcher permissions when preparing release bundles 2026-10-02 10:17:54 +01:00
Samuel Onoja f770147c6d Install verified release bundles with recoverable activation 2026-10-02 10:13:54 +01:00
Samuel Onoja 17243464f6 Rewrite documentation and complete shortcut and feature lists 2026-10-02 10:13:53 +01:00
Samuel Onoja bbb1eac189 Recover known GPUs across DRM node renumbering 2026-10-02 09:52:18 +01:00
Samuel Onoja 428267a714 Refresh lid observations before rendering after resume 2026-10-02 09:41:40 +01:00
Samuel Onoja 0420e59cbe Reconcile DRM topology before resuming presentation 2026-10-02 09:33:19 +01:00
Samuel Onoja 73da6c68d2 Add Apple-style window corners with isolated shell rendering 2026-10-02 09:24:17 +01:00
Samuel Onoja b45917c41d Harden lock UI inputs and decoding and reduce idle clock updates 2026-10-02 08:51:35 +01:00
Samuel Onoja 8ad5293178 Model lock ownership explicitly and allow protected crash recovery 2026-10-02 08:48:01 +01:00
Samuel Onoja 570984a39b Wake shell status from service and hardware events 2026-10-02 08:33:37 +01:00
Samuel Onoja 8bb0b1da9c Supervise daemons with pidfds and restart deadlines 2026-10-02 08:23:47 +01:00
Samuel Onoja 181b7bce9a Register battery polling only for active automatic-refresh outputs 2026-10-02 08:18:47 +01:00
Samuel Onoja 79a968b0a6 Use lock idle deadlines and stop polling after display sleep 2026-10-02 08:18:01 +01:00
Samuel Onoja 96b0a9d097 Separate presentation facts from surface eligibility policy 2026-10-02 08:16:00 +01:00
Samuel Onoja aecf54bc76 Share visibility checks and test client presentation lifecycle 2026-10-02 08:07:24 +01:00
Samuel Onoja bb78801720 Separate requested and applied output runtime power 2026-10-02 08:05:28 +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 aa54ab1b2b Reuse window capture targets and offload pixel conversion 2026-10-02 07:44:13 +01:00
Samuel Onoja 325835f40a Invalidate blur from per-output sampled backdrop damage 2026-10-02 04:27:07 +01:00
Samuel Onoja 3d6cee125d Preserve opaque interiors of rounded window surfaces 2026-10-02 02:47:04 +01:00
Samuel Onoja 95c8940008 Skip layer relayout for content-only surface commits 2026-10-02 02:41:44 +01:00
Samuel Onoja 092a1f9560 Wake shell UI immediately for compositor control events 2026-10-02 02:39:48 +01:00
Samuel Onoja ab0c174948 Reduce idle shell polling and stabilize overview damage 2026-10-02 02:34:35 +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 42f022fde5 nits 2026-10-01 23:42:40 +01:00
Samuel Onoja da60ecb719 micro optimization fixes 2026-10-01 20:47:05 +01:00
Samuel Onoja 0d7203f84b Migrate DRM outputs to Smithay DrmCompositor 2026-10-01 19:31:54 +01:00
Samuel Onoja cd19691f52 fix wl-copy..copy on select bug 2026-10-01 18:29:56 +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 c0010ccbb6 Remove design documents and their handbook references 2026-10-01 17:51:54 +01:00
Samuel Onoja 3d0c85c70a Wait for DRM presentation before releasing frame callbacks
Cancel callback-only timers when a frame is submitted and defer callback delivery until retirement. Cover a delayed timer and missed presentation deadline in the scheduler tests.

Clean up shader argument borrows and shell region decoding to pass Clippy.
2026-10-01 17:32:17 +01:00
Samuel Onoja a40b899b8c Schedule DRM frames against per-output presentation deadlines 2026-10-01 17:22:34 +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 0162870cca Add focus history and Alt-Tab window switching 2026-10-01 16:00:23 +01:00
Samuel Onoja a3431cab5b Add Wi-Fi and Bluetooth settings and compact controls 2026-10-01 15:28:16 +01:00
Samuel Onoja 94afc6eb5c update feature in readme 2026-10-01 15:03: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 24e23e2903 Use translucent styling for Control Center theme buttons 2026-10-01 13:52:08 +01:00
Samuel Onoja 9e966f81a0 Preserve live dimming settings and stabilize theme transition borders 2026-10-01 13:49:36 +01:00
Samuel Onoja dec4d54bd4 Size notification history from its measured content 2026-10-01 13:42:48 +01:00
Samuel Onoja 80527eabea Fix area screenshots on automatically positioned outputs 2026-10-01 13:39:58 +01:00
Samuel Onoja bdc3ba435f fix clippy warnings 2026-10-01 13:24:21 +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
Samuel Onoja 2b9f30fa5d Add shortcut hint toggle with Super+F1 2026-10-01 12:30:35 +01:00
Samuel Onoja 2c95e5e80f Split status UI into focused menu modules 2026-10-01 12:18:30 +01:00
Samuel Onoja 4ea1f1f222 Prepare menu surfaces before animating popovers 2026-10-01 12:09:14 +01:00
Samuel Onoja 5250eeca7b Limit status errors to related control popups 2026-10-01 12:06:32 +01:00
Samuel Onoja 7a9fd5c864 Respect motion settings and improve accessible theme transitions 2026-10-01 11:54:57 +01:00
Samuel Onoja 53bad8c672 Restore floating window size before the first buffer 2026-10-01 11:36:53 +01:00
Samuel Onoja a14f222119 Make horizontal focus swipes follow touchpad motion 2026-10-01 11:34:30 +01:00
Samuel Onoja b29d271252 Add floating placement memory and edge snapping 2026-10-01 11:24:56 +01:00
Samuel Onoja 9c99b13c31 Stabilize minimal reveal at viewport edges 2026-10-01 10:38:29 +01:00
Samuel Onoja 8d695da04f Use nearest-edge reveal for minimal scrolling 2026-10-01 10:33:01 +01:00
Samuel Onoja 464a1a635b Add continuous touchpad workspace swiping 2026-10-01 10:28:14 +01:00
Samuel Onoja 17b8482433 Add per-monitor workspace back-and-forth 2026-10-01 10:14:35 +01:00
Samuel Onoja cb6fe73e44 Complete polkit authentication dialog and harden session handling 2026-10-01 09:46:18 +01:00
Samuel Onoja 4137f787bf styling fix and clippy fixes 2026-10-01 08:59:00 +01:00
Samuel Onoja 1364ff62b8 clippy 2026-10-01 08:56:26 +01:00
Samuel Onoja 6d8041a59a Register native polkit agent for the login session 2026-10-01 08:34:38 +01:00
Samuel Onoja 1cad509275 Reduce allocation overhead when advancing animations 2026-10-01 08:22:15 +01:00
Samuel Onoja a02925b2ee Add manual and battery-aware automatic display refresh switching 2026-10-01 08:08:08 +01:00
Samuel Onoja a203b45a4b Restore portal appearance fallback to resolved disk configuration 2026-10-01 07:51:16 +01:00
Samuel Onoja b105ea8ef9 Cover portal appearance with a theme IPC owner in contract tests
The Settings portal reads appearance exclusively from the compositor's
theme control socket and falls back to defaults when no compositor is
reachable, so the contract test could no longer assert appearance from an
on-disk KDL document.

Add a fixtures/theme_owner.py peer that speaks the theme IPC framing and
publishes schema-v2 snapshots, point the test at a private runtime socket,
and clear WAYLAND_DISPLAY and WAYLAND_SOCKET so the backend cannot reach a
host compositor. Assert the initial values, the SettingChanged payload
after a republish, and that ReadAll matches the published snapshot, then
confirm an invalid local document does not disturb portal-owned
appearance.
2026-10-01 07:44:36 +01:00
Samuel Onoja 67d2d95a01 Fix modal keyboard navigation and title switches; refresh documentation 2026-10-01 07:38:43 +01:00
Samuel Onoja 1b665f4157 update document wordings 2026-09-30 16:17:14 +01:00
Samuel Onoja e05aa31ce3 Decode portal wallpapers by content and simplify status bar
Detect wallpaper image formats from their contents so extensionless portal copies render on the desktop and lock screen. Preserve decode limits and cover extensionless files with regression tests.

Remove the Bluetooth icon from the status bar.
2026-09-30 14:56:43 +01:00
Samuel Onoja 1d7f408c67 reword view all screenshot to view more screenshot 2026-09-30 13:55:28 +01:00
Samuel Onoja 891727ec7a Refresh screenshot galleries and repair portal upgrades
Use the September 30 hero on the website and README, add a shared screenshot gallery, and remove the old showcase images. Build image links locally and clean generated site output.

Back up the known development portal override during installation and report custom overrides before building. Keep source selections clear while letting blur show through unselected rows.
2026-09-30 13:50:06 +01:00
Samuel Onoja 3d950a0411 Add resolved appearance engine and paired theme settings
Resolve light, dark and automatic appearance centrally and publish live theme snapshots to native surfaces and the appearance portal. Add paired preset families, custom theme imports, accessibility transforms and contrast-safe transitions.

Refine the Settings gallery and Auto controls, move overrides under advanced customization, and share palette-aware switches and circular slider thumbs. Document configuration and include theme licenses and integration coverage.
2026-09-30 12:51:49 +01:00
Samuel Onoja 2bb4c086f5 dix battery menu 2026-09-30 07:31:07 +01:00
Samuel Onoja ec95ae5e80 nit 2026-09-30 07:07:36 +01:00
Samuel Onoja 9ad87a84a2 improve docs 2026-09-30 07:05:18 +01:00
Samuel Onoja 4d60c296a7 Simplify documentation and website; expand shortcut guides 2026-09-30 07:00:20 +01:00
Samuel Onoja 46509f880a Fix compositor output routing and pointer hints; format imports 2026-09-30 06:39:58 +01:00
Samuel Onoja 88e4f3c135 Remove duplicate dialog frames and give source lists enough height 2026-09-30 05:57:37 +01:00