From 1eb6403575a170e37697e265d86740018b84a546 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Mon, 9 Mar 2026 14:05:54 -0400 Subject: [PATCH] chore: refactor iced utils into shared module --- Cargo.lock | 32 +++++++++++++++--------------- src/utils/{iced.rs => iced/mod.rs} | 6 +++++- src/utils/{ => iced}/state.rs | 2 +- src/utils/mod.rs | 1 - 4 files changed, 22 insertions(+), 19 deletions(-) rename src/utils/{iced.rs => iced/mod.rs} (99%) rename src/utils/{ => iced}/state.rs (99%) diff --git a/Cargo.lock b/Cargo.lock index 8a6c0a27..b889ef87 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -901,7 +901,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "atomicwrites", "calloop 0.14.4", @@ -922,7 +922,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "quote", "syn", @@ -1000,7 +1000,7 @@ dependencies = [ [[package]] name = "cosmic-text" version = "0.18.2" -source = "git+https://github.com/pop-os/cosmic-text.git#29034e56b47b7e259f9a18a01fcda8ff267fc2d1" +source = "git+https://github.com/pop-os/cosmic-text.git#b6216ad123814c41c35943390727b4e7146cd143" dependencies = [ "bitflags 2.11.0", "fontdb", @@ -1023,7 +1023,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "almost", "configparser", @@ -2259,7 +2259,7 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "dnd", "iced_core", @@ -2278,7 +2278,7 @@ dependencies = [ [[package]] name = "iced_core" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "bitflags 2.11.0", "bytes", @@ -2301,7 +2301,7 @@ dependencies = [ [[package]] name = "iced_debug" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "iced_core", "iced_futures", @@ -2311,7 +2311,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "futures", "iced_core", @@ -2324,7 +2324,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "bitflags 2.11.0", "bytemuck", @@ -2345,7 +2345,7 @@ dependencies = [ [[package]] name = "iced_program" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "iced_graphics", "iced_runtime", @@ -2354,7 +2354,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2366,7 +2366,7 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "bytes", "dnd", @@ -2380,7 +2380,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "bytemuck", "cosmic-text", @@ -2397,7 +2397,7 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "as-raw-xcb-connection", "bitflags 2.11.0", @@ -2428,7 +2428,7 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.14.2" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "dnd", "iced_renderer", @@ -2898,7 +2898,7 @@ checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112" [[package]] name = "libcosmic" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic#ad65416551975cded91007b491b46556a45e059a" +source = "git+https://github.com/pop-os/libcosmic#ff6454248ff0f2ffe889798ef9610a1f8e5384e4" dependencies = [ "apply", "auto_enums", diff --git a/src/utils/iced.rs b/src/utils/iced/mod.rs similarity index 99% rename from src/utils/iced.rs rename to src/utils/iced/mod.rs index 15d5169a..4fcb8457 100644 --- a/src/utils/iced.rs +++ b/src/utils/iced/mod.rs @@ -1,3 +1,5 @@ +pub mod state; + use std::{ collections::{HashMap, HashSet}, fmt, @@ -62,7 +64,7 @@ use smithay::{ }, }; -use crate::utils::state::State; +use crate::utils::iced::state::State; static ID: LazyLock = LazyLock::new(|| Id::new("Program")); @@ -97,6 +99,7 @@ impl Hash for IcedElement

{ } } +// TODO remove this and use our Program trait directly instead pub trait IcedProgram { type Message: std::fmt::Debug + Send; fn update(&mut self, _message: Self::Message) -> Task { @@ -145,6 +148,7 @@ pub trait Program { } } +// TODO remove this and use our Program trait directly struct ProgramWrapper { program: P, evlh: LoopHandle<'static, crate::state::State>, diff --git a/src/utils/state.rs b/src/utils/iced/state.rs similarity index 99% rename from src/utils/state.rs rename to src/utils/iced/state.rs index 4425fdf3..ec74a18d 100644 --- a/src/utils/state.rs +++ b/src/utils/iced/state.rs @@ -1,4 +1,4 @@ -use super::iced::IcedProgram as Program; +use super::IcedProgram as Program; use cosmic::iced::core::event::{self, Event}; use cosmic::iced::core::mouse; use cosmic::iced::core::renderer; diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 69b32a52..ac1df019 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -9,5 +9,4 @@ pub mod prelude; pub mod quirks; pub mod rlimit; pub mod screenshot; -pub mod state; pub mod tween;