Commit Graph
73 Commits
Author SHA1 Message Date
Samuel Onoja 1441875096 Unify per-monitor workspace numbering and lifecycle policy 2026-10-01 18:24:12 +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 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 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 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
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 4137f787bf styling fix and clippy fixes 2026-10-01 08:59:00 +01:00
Samuel Onoja 67d2d95a01 Fix modal keyboard navigation and title switches; refresh documentation 2026-10-01 07:38:43 +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 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 46509f880a Fix compositor output routing and pointer hints; format imports 2026-09-30 06:39:58 +01:00
Samuel Onoja 518b083472 Align modal blur regions and preserve materials during resize 2026-09-30 05:51:43 +01:00
Samuel Onoja 46a6d08a83 Use shared theme text and controls throughout native dialogs 2026-09-30 02:46:08 +01:00
Samuel Onoja 29a71e9974 Implement native inhibition and acknowledged session-ending confirmation 2026-09-30 02:38:54 +01:00
Samuel Onoja cc441c049e Show an active keybinding guide until disabled in Settings 2026-09-30 02:03:55 +01:00
Samuel Onoja d8a23748c8 Confirm power and logout actions in centered system modals 2026-09-29 22:21:15 +01:00
Samuel Onoja ae712b6b40 Keep workspace presentation in numeric order 2026-09-29 21:29:58 +01:00
Samuel Onoja b2363a18b0 Share native theme components and fix dialog backdrop blur
Centralize native palettes, presets, typography, controls, menus, calendar rendering, and icon assets in ferese-theme. Reuse the shared components across the shell, settings, lock screen, authentication prompt, and screen-sharing chooser.

Attach themed dialogs to compositor-owned materials, correct backdrop capture and sampling across output transforms, smooth patterned backgrounds, and prevent clipped picker buttons with the configured shell font.
2026-09-29 21:19:19 +01:00
Samuel Onoja c6b548349d Restore the battery menu sections and center their icons
A let-chain collapse in the status menu left the battery blocks
inside the notifications arm, so the percentage, level meter, power
mode row, and power actions only rendered when notifications were
present. Close the notifications block before the battery checks so
each menu kind owns its own sections again.

Use center_x/center_y on the fixed-size icon containers rather than
align_x/align_y, which left badges and the top bar slot sitting off
center in libcosmic, and constrain the menu icon to a square 22px slot
so the battery glyph is not letterboxed by its own width. Give the
power tiles a Fill-width centering container inside their
FillPortion(1) buttons so the label and icon stay centered on hover.

Drop the two column-alignment TODO wrappers the collapse introduced.
2026-09-29 12:00:08 +01:00
Samuel Onoja 67192c0c04 Speed up per-frame layout, hit testing, and stacking paths
Split ScrollingLayout validation so the per-frame geometry solve only
checks scalars and keeps the full tree validation behind debug_assert,
removing a HashSet build from every frame. Replace the per-region Vec
in decode_regions with a stack array via as_chunks, and skip the window
hit test in PointerMotion when Overview is not presenting, where
visual_scale_for_window returns 1.0 regardless.

Guard sync_window_stacking behind a check that the space already matches
the target order with uniform z_index, avoiding an O(n^2) raise_element
loop on every redraw. Narrow window_under_visual to the space iterator
outside Overview, keeping the collected and sorted candidate list for
the Overview branch where front-to-back order is load-bearing.

Raise rust-version to 1.98 and clear the resulting Clippy findings
across the workspace: let-chain collapses, clamp, and while-let loops.
2026-09-29 09:49:04 +01:00
Samuel Onoja 3ad0108d80 Tighten Control Center captions and truncate device names 2026-09-28 10:09:12 +01:00
Samuel Onoja a72a9e9ae8 Make full bar clock open calendar 2026-09-28 10:05:25 +01:00
Samuel Onoja 2bab33758b Simplify Control Center tiles with larger icons and centered details 2026-09-28 10:01:41 +01:00
Samuel Onoja 5cc8927933 Keep calendar popover compact and content sized 2026-09-28 09:59:12 +01:00
Samuel Onoja 7450dd7b1e Use accent tiles and a header settings shortcut in Control Center 2026-09-28 09:57:15 +01:00
Samuel Onoja f933484c7b Center focused window titles and simplify Control Center controls 2026-09-28 09:53:07 +01:00
Samuel Onoja c8e89fb758 Unify shell opacity and add native authentication and system controls 2026-09-28 09:26:14 +01:00
Samuel Onoja 8832a9bf2e Align recording dialog behavior and shell theme styling 2026-09-28 09:15:13 +01:00
Samuel Onoja 24e15f76cb Centralize accent foreground contrast across Ferese UI 2026-09-28 08:58:51 +01:00
Samuel Onoja 299f60e671 Streamline recording controls and compact the display picker 2026-09-28 08:45:50 +01:00
Samuel Onoja 6209d556ee Add native screen recording with themed top-bar controls 2026-09-28 08:30:59 +01:00
Samuel Onoja 23d84c0a77 Unify notification center popovers and translucent card materials 2026-09-27 12:40:08 +01:00
Samuel Onoja e5e2b74a25 Unify shell corner radius and speed up Settings page switching 2026-09-27 09:41:43 +01:00
Samuel Onoja ab6bf8b961 Refine notification center and configure native notifications
Keep notification actions and dismiss controls visible, compact and animate history, and add themed icon controls and grouping.

Include notification settings, session integration and documentation, on-demand workspaces, and performance baseline notes.
2026-09-27 08:35:38 +01:00
Samuel Onoja a98d7a75c3 Add theme-aware notification cards with grouped popup stacks 2026-09-27 08:17:57 +01:00
Samuel Onoja 45a9c0384c Cache network and Bluetooth status until D-Bus changes 2026-09-27 07:56:43 +01:00
Samuel Onoja 4251b5d084 Read Bluetooth status directly from BlueZ 2026-09-27 07:49:44 +01:00
Samuel Onoja e448d433fc Read Wi-Fi status through NetworkManager D-Bus 2026-09-27 07:48:59 +01:00
Samuel Onoja b0583eb993 Deliver shell status updates without a polling timer 2026-09-27 07:37:41 +01:00
Samuel Onoja 4bf075734c Reuse native D-Bus connections for shell status queries 2026-09-27 07:33:43 +01:00