Add Live Activities as configurable bar items (#30)

* 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]>
This commit is contained in:
Samuel OnojaandSamuel Onoja authored and GitHub committed 2026-10-12 22:52:25 +01:00
1 parent 7a7df0106c
commit 6b0d903ad0
107 files changed
+9340 -291

No files matched your search

+18
View File
@@ -3,6 +3,24 @@ use cosmic::iced::{Color, ContentFit, Length};
use cosmic::theme;
use cosmic::widget::icon;
/// Morph's compact outline set. Curved corners use tangent-continuous paths;
/// all glyphs share a 24-unit canvas and a 1.7-unit stroke.
pub mod morph {
pub const WORKSPACES: &[u8] = include_bytes!("../assets/icons/morph/workspaces.svg");
pub const MUSIC: &[u8] = include_bytes!("../assets/icons/morph/music.svg");
pub const CALENDAR: &[u8] = include_bytes!("../assets/icons/morph/calendar.svg");
pub const NOTIFICATIONS: &[u8] = include_bytes!("../assets/icons/morph/notifications.svg");
pub const CONTROLS: &[u8] = include_bytes!("../assets/icons/morph/controls.svg");
pub const SETTINGS: &[u8] = include_bytes!("../assets/icons/morph/settings.svg");
pub const ACTIVITIES: &[u8] = include_bytes!("../assets/icons/morph/activities.svg");
pub const CLOSE: &[u8] = include_bytes!("../assets/icons/morph/close.svg");
pub const RECORD: &[u8] = include_bytes!("../assets/icons/morph/record.svg");
pub const DISPLAY: &[u8] = include_bytes!("../assets/icons/morph/display.svg");
}
pub const ACTIVITY_HAMMER: &[u8] = include_bytes!("../assets/icons/status/activity-hammer.svg");
pub const ACTIVITY_TIMER: &[u8] = include_bytes!("../assets/icons/status/activity-timer.svg");
pub const ACTIVITY_DOWNLOAD: &[u8] = include_bytes!("../assets/icons/status/activity-download.svg");
pub const ARROW: &[u8] = include_bytes!("../assets/icons/arrow.svg");
pub const BATTERY: &[u8] = include_bytes!("../assets/icons/battery.svg");
pub const CHECK: &[u8] = include_bytes!("../assets/icons/check.svg");