From 251ea6d138f1f1a7f8186bcd11d1188cd95f42d6 Mon Sep 17 00:00:00 2001 From: wiiznokes <78230769+wiiznokes@users.noreply.github.com> Date: Sun, 7 Apr 2024 03:59:22 +0200 Subject: [PATCH 1/5] init --- .config/settings.toml | 2 +- .config/test.toml | 12 ++- DEV.md | 2 +- data/src/app_graph.rs | 5 + data/src/config/graph.rs | 182 +++++++++++++++++++++++++++++++++- data/src/config/serde_test.rs | 6 +- data/src/node.rs | 11 +- data/src/update.rs | 2 +- ui/src/item.rs | 24 +++-- 9 files changed, 219 insertions(+), 27 deletions(-) diff --git a/.config/settings.toml b/.config/settings.toml index 62612292..f6bb3ec5 100644 --- a/.config/settings.toml +++ b/.config/settings.toml @@ -1,3 +1,3 @@ theme = "Light" update_delay = 1500 -current_config = "fake" +current_config = "test" diff --git a/.config/test.toml b/.config/test.toml index 6661075f..363ccdd9 100644 --- a/.config/test.toml +++ b/.config/test.toml @@ -1,4 +1,14 @@ [[CustomTemp]] name = "CPU" kind = "Average" -inputs = [] \ No newline at end of file +inputs = [] + + +[[Graph]] +name = "Graph" +input = "max" +coord = [ + { temp = 50, percent = 30 }, + { temp = 50, percent = 30 }, + { temp = 50, percent = 30 }, +] \ No newline at end of file diff --git a/DEV.md b/DEV.md index 28969547..7e5ebc70 100644 --- a/DEV.md +++ b/DEV.md @@ -32,7 +32,7 @@ [[Graph]] name = "Graph" input = "max" - cood = [ + coord = [ { temp = 50, percent = 30 }, { temp = 50, percent = 30 }, { temp = 50, percent = 30 }, diff --git a/data/src/app_graph.rs b/data/src/app_graph.rs index fe6f8c99..e82f3191 100644 --- a/data/src/app_graph.rs +++ b/data/src/app_graph.rs @@ -133,6 +133,11 @@ impl AppGraph { app_graph.insert_node(node); } + for graph in config.graphs { + let node = graph.to_node(&mut app_graph.id_generator, &app_graph.nodes, hardware); + app_graph.insert_node(node); + } + for control in config.controls { let node = control.to_node(&mut app_graph.id_generator, &app_graph.nodes, hardware); app_graph.insert_node(node); diff --git a/data/src/config/graph.rs b/data/src/config/graph.rs index 47140975..6c75683e 100644 --- a/data/src/config/graph.rs +++ b/data/src/config/graph.rs @@ -1,23 +1,195 @@ -use serde::{Deserialize, Serialize}; +use hardware::{Hardware, Value}; +use serde::{Deserialize, Deserializer, Serialize}; -use crate::node::IsValid; +use crate::{ + app_graph::Nodes, + config::graph::affine::Affine, + id::IdGenerator, + node::{IsValid, Node, NodeType, ToNode}, + update::UpdateError, +}; -#[derive(Serialize, Deserialize, Debug, Clone)] +#[derive(Serialize, Deserialize, Debug, Clone, Eq)] pub struct Coord { pub temp: u8, pub percent: u8, } +impl PartialEq for Coord { + fn eq(&self, other: &Self) -> bool { + self.temp == other.temp + } +} + +impl PartialOrd for Coord { + fn partial_cmp(&self, other: &Self) -> Option { + Some(self.cmp(other)) + } +} + +impl Ord for Coord { + fn cmp(&self, other: &Self) -> std::cmp::Ordering { + self.temp.cmp(&other.temp) + } +} + +// todo: better default + UI #[derive(Serialize, Deserialize, Debug, Clone, Default)] pub struct Graph { pub name: String, #[serde(rename = "coord")] - pub coords: Vec, + pub coords: Coords, pub input: Option, // Temp or CustomTemp } +impl ToNode for Graph { + fn to_node(self, id_generator: &mut IdGenerator, nodes: &Nodes, _hardware: &Hardware) -> Node { + Node::new(id_generator, NodeType::Graph(self), nodes) + } +} + impl IsValid for Graph { fn is_valid(&self) -> bool { - self.input.is_some() //TODO: add conditions on coords + #[derive(PartialEq)] + enum DupState { + Init, + Prev { temp: u8 }, + DuplicateFound, + } + + self.input.is_some() + && !self.coords.0.is_empty() + && self + .coords + .0 + .iter() + .fold(DupState::Init, |prev, coord| match prev { + DupState::Init => DupState::Prev { temp: coord.temp }, + DupState::Prev { temp } => { + if temp == coord.temp { + DupState::DuplicateFound + } else { + DupState::Prev { temp: coord.temp } + } + } + DupState::DuplicateFound => DupState::DuplicateFound, + }) + != DupState::DuplicateFound + && !self.coords.0.iter().any(|coord| coord.percent > 100) + } +} + +#[derive(Serialize, Debug, Clone, Default)] +pub struct Coords(pub Vec); + +impl<'de> serde::Deserialize<'de> for Coords { + fn deserialize>(d: D) -> Result { + let mut s: Vec = Vec::deserialize(d)?; + + s.sort(); + + Ok(Coords(s)) + } +} + +impl Graph { + pub fn get_value(&self, value: Value) -> Result { + let dummy_coord = Coord { + temp: value as u8, + percent: 0, + }; + + let res = match self.coords.0.binary_search(&dummy_coord) { + Ok(index) => self.coords.0[index].percent as Value, + Err(index) => { + if index == 0 { + self.coords.0[index].percent as Value + } else if index == self.coords.0.len() { + self.coords.0[index - 1].percent as Value + } else { + let coord1 = &self.coords.0[index - 1]; + let coord2 = &self.coords.0[index]; + + Affine { + xa: coord1.temp.into(), + ya: coord1.percent.into(), + xb: coord2.temp.into(), + yb: coord2.percent.into(), + } + .calcule(value) as Value + } + } + }; + + Ok(res) + } +} + +mod affine { + use hardware::Value; + + #[derive(Debug)] + pub struct Affine { + pub xa: f32, + pub ya: f32, + pub xb: f32, + pub yb: f32, + } + + impl Affine { + pub fn calcule(&self, value: Value) -> f32 { + let a = (self.yb - self.ya) / (self.xb - self.xa); + let b = self.ya - a * self.xa; + + a * value as f32 + b + } + } +} + +#[test] +fn test() { + let coord1 = Coord { + temp: 10, + percent: 10, + }; + + let coord2 = Coord { + temp: 20, + percent: 20, + }; + + let coord3 = Coord { + temp: 30, + percent: 30, + }; + + let coord4 = Coord { + temp: 40, + percent: 40, + }; + + let coords = Coords(vec![coord1, coord2, coord3, coord4]); + + let dummy_coord = Coord { + temp: 50, + percent: 0, + }; + + let res = coords.0.binary_search(&dummy_coord); + + match res { + Ok(index) => { + println!("use {}", index); + } + Err(index) => { + if index == 0 { + println!("use {}", index); + } else if index == coords.0.len() { + println!("use {}", index - 1); + } else { + println!("use {} and {}", index - 1, index); + } + } } + dbg!(&res); } diff --git a/data/src/config/serde_test.rs b/data/src/config/serde_test.rs index 7257af17..a7752016 100644 --- a/data/src/config/serde_test.rs +++ b/data/src/config/serde_test.rs @@ -18,7 +18,7 @@ use super::custom_temp::{CustomTemp, CustomTempKind}; use super::fan::Fan; use super::flat::Flat; -use super::graph::{Coord, Graph}; +use super::graph::{Coord, Coords, Graph}; use super::linear::Linear; use super::target::Target; use super::temp::Temp; @@ -154,7 +154,7 @@ fn config1() -> Config { )], graphs: vec![Graph { name: "Graph".into(), - coords: vec![ + coords: Coords(vec![ Coord { temp: 10, percent: 10, @@ -163,7 +163,7 @@ fn config1() -> Config { temp: 50, percent: 30, }, - ], + ]), input: Some("max".into()), }], flats: vec![Flat { diff --git a/data/src/node.rs b/data/src/node.rs index dc3f5d79..f38ab5bf 100644 --- a/data/src/node.rs +++ b/data/src/node.rs @@ -371,16 +371,9 @@ impl NodeType { NodeType::Temp(_) => Ordering::Greater, _ => Ordering::Less, }, - NodeType::Graph(_) => todo!(), NodeType::Flat(_) => Ordering::Equal, - NodeType::Linear(..) => match other { - NodeType::Control(_) => Ordering::Less, - NodeType::Fan(_) => Ordering::Greater, - NodeType::Temp(_) => Ordering::Greater, - NodeType::CustomTemp(_) => Ordering::Greater, - _ => Ordering::Equal, - }, - NodeType::Target(..) => match other { + + NodeType::Graph(_) | NodeType::Linear(..) | NodeType::Target(..) => match other { NodeType::Control(_) => Ordering::Less, NodeType::Fan(_) => Ordering::Greater, NodeType::Temp(_) => Ordering::Greater, diff --git a/data/src/update.rs b/data/src/update.rs index 6534af4b..79f9b4b8 100644 --- a/data/src/update.rs +++ b/data/src/update.rs @@ -262,7 +262,7 @@ impl Node { crate::node::NodeType::Fan(fan) => fan.get_value(bridge), crate::node::NodeType::Temp(temp) => temp.get_value(bridge), crate::node::NodeType::CustomTemp(custom_temp) => custom_temp.get_value(input_values), - crate::node::NodeType::Graph(_) => todo!(), + crate::node::NodeType::Graph(graph) => graph.get_value(input_values[0]), crate::node::NodeType::Flat(flat) => Ok(flat.value.into()), crate::node::NodeType::Linear(linear, ..) => linear.get_value(input_values[0]), crate::node::NodeType::Target(target, ..) => target.get_value(input_values[0]), diff --git a/ui/src/item.rs b/ui/src/item.rs index 4dc021a9..eb96a908 100644 --- a/ui/src/item.rs +++ b/ui/src/item.rs @@ -16,6 +16,7 @@ use data::{ control::Control, custom_temp::{CustomTemp, CustomTempKind}, flat::Flat, + graph::Graph, linear::Linear, target::Target, }, @@ -30,7 +31,7 @@ use crate::{ AppMsg, ControlMsg, CustomTempMsg, FlatMsg, LinearMsg, ModifNodeMsg, TargetMsg, ToogleMsg, }, my_widgets::{self, drop_down::DropDown, offset::Offset}, - node_cache::{LinearC, NodeC, NodesC, TargetC}, + node_cache::{GraphC, LinearC, NodeC, NodesC, TargetC}, pick_list_utils::{self, MyOption}, }; @@ -53,10 +54,10 @@ pub fn items_view<'a>( NodeTypeLight::Control => controls.push(content), NodeTypeLight::Fan => fans.push(content), NodeTypeLight::Temp => temps.push(content), - NodeTypeLight::Graph => {} - NodeTypeLight::Flat | NodeTypeLight::Linear | NodeTypeLight::Target => { - behaviors.push(content) - } + NodeTypeLight::Graph + | NodeTypeLight::Flat + | NodeTypeLight::Linear + | NodeTypeLight::Target => behaviors.push(content), NodeTypeLight::CustomTemp => custom_temps.push(content), } } @@ -152,7 +153,9 @@ fn item_view<'a>( data::node::NodeType::Fan(_fan) => fan_view(node, hardware), data::node::NodeType::Temp(_temp) => temp_view(node, hardware), data::node::NodeType::CustomTemp(custom_temp) => custom_temp_view(node, custom_temp, nodes), - data::node::NodeType::Graph(_graph) => todo!(), + data::node::NodeType::Graph(graph) => { + graph_view(node, graph, node_c.node_type_c.unwrap_graph_ref(), nodes) + } data::node::NodeType::Flat(flat) => flat_view(node, flat), data::node::NodeType::Linear(linear) => { linear_view(node, linear, node_c.node_type_c.unwrap_linear_ref(), nodes) @@ -452,3 +455,12 @@ fn target_view<'a>( Column::with_children(content).into() } + +fn graph_view<'a>( + node: &'a Node, + _graph: &'a Graph, + _graph_c: &'a GraphC, + _nodes: &'a Nodes, +) -> Element<'a, AppMsg> { + Text::new(node.value_text(&ValueKind::Porcentage)).into() +} From 7f375ad212aba8c35c62285dfa08e121784ad901 Mon Sep 17 00:00:00 2001 From: wiiznokes <78230769+wiiznokes@users.noreply.github.com> Date: Sun, 7 Apr 2024 15:26:57 +0200 Subject: [PATCH 2/5] multi win --- data/src/config/graph.rs | 6 ++++ data/src/utils.rs | 26 ++++++++++++++++ justfile | 3 +- ui/Cargo.toml | 2 +- ui/src/graph.rs | 57 ++++++++++++++++++++++++++++++++++ ui/src/item.rs | 16 +++------- ui/src/lib.rs | 66 ++++++++++++++++++++++++++++++++++++++-- ui/src/message.rs | 13 +++++++- ui/src/node_cache.rs | 9 ++++-- 9 files changed, 179 insertions(+), 19 deletions(-) create mode 100644 ui/src/graph.rs diff --git a/data/src/config/graph.rs b/data/src/config/graph.rs index 6c75683e..2e37d367 100644 --- a/data/src/config/graph.rs +++ b/data/src/config/graph.rs @@ -33,6 +33,12 @@ impl Ord for Coord { } } +impl Coord { + pub fn exact_same(&self, other: &Self) -> bool { + self.percent == other.percent && self.temp == other.temp + } +} + // todo: better default + UI #[derive(Serialize, Deserialize, Debug, Clone, Default)] pub struct Graph { diff --git a/data/src/utils.rs b/data/src/utils.rs index aed93cd1..b31fcb1e 100644 --- a/data/src/utils.rs +++ b/data/src/utils.rs @@ -1,3 +1,5 @@ +use std::cmp::Ordering; + pub trait RemoveElem { fn remove_elem(&mut self, predicate: F) -> Option where @@ -22,3 +24,27 @@ pub fn init_test_logging() { .is_test(true) .try_init(); } + +pub trait InsertSorted { + fn insert_sorted(&mut self, predicate: F, element: T) -> Option + where + F: Fn(&T) -> Ordering; +} + +impl InsertSorted for Vec { + fn insert_sorted(&mut self, predicate: F, element: T) -> Option + where + F: Fn(&T) -> Ordering, + { + match self.binary_search_by(predicate) { + Ok(index) => { + let removed = std::mem::replace(&mut self[index], element); + Some(removed) + } + Err(index) => { + self.insert(index, element); + None + } + } + } +} diff --git a/justfile b/justfile index d18ed6d3..e872020d 100644 --- a/justfile +++ b/justfile @@ -68,7 +68,8 @@ clean-lhm: ################### Handy fake: - cargo run --features fake_hardware -- -p ./.config -c fake + cargo run --features fake_hardware -- -p ./.config + temp: cargo run --features fake_hardware -- -p ./temp diff --git a/ui/Cargo.toml b/ui/Cargo.toml index 84eb4c80..7e1cd69d 100644 --- a/ui/Cargo.toml +++ b/ui/Cargo.toml @@ -34,7 +34,7 @@ features = [ "wgpu", "winit", "tokio", - #"multi-window" + "multi-window" #"a11y", #"debug", #"serde-keycode", diff --git a/ui/src/graph.rs b/ui/src/graph.rs new file mode 100644 index 00000000..d2113b73 --- /dev/null +++ b/ui/src/graph.rs @@ -0,0 +1,57 @@ +use cosmic::{ + iced_core::{Alignment, Length}, + iced_widget::PickList, + widget::{Column, Row, Space, Text}, + Element, +}; +use data::{ + app_graph::Nodes, + config::graph::Graph, + node::{Input, Node, ValueKind}, +}; + +use crate::{ + icon::icon_button, message::{ + AppMsg, GraphMsg, ModifNodeMsg, + }, node_cache::GraphC, pick_list_utils::{self, MyOption} +}; + +pub fn graph_view<'a>( + node: &'a Node, + graph: &'a Graph, + _graph_c: &'a GraphC, + nodes: &'a Nodes, +) -> Element<'a, AppMsg> { + let input_options = + pick_list_utils::input::optional_availlable_inputs(nodes, node, graph.input.is_some()); + let current_input: MyOption = graph.input.clone().into(); + let pick_input = PickList::new(input_options, Some(current_input), |input| { + ModifNodeMsg::ReplaceInput(input.into()).to_app(node.id) + }) + .width(Length::Fill) + .into(); + + let coords = graph.coords.0.iter().map(|coord| { + let text = format!("{}°C = {}%", coord.temp, coord.percent); + + Row::new() + .push(Text::new(text).width(Length::Fixed(100.0))) + .push(Space::new(Length::Fill, Length::Fixed(0.0))) + .push(icon_button("close/20").on_press( + ModifNodeMsg::Graph(GraphMsg::RemoveCoord(coord.clone())).to_app(node.id), + )) + .align_items(Alignment::Center) + .into() + }); + + // todo: add scrollable ? + let coords = Column::with_children(coords).into(); + + let content = vec![ + pick_input, + Text::new(node.value_text(&ValueKind::Porcentage)).into(), + coords, + ]; + + Column::with_children(content).into() +} diff --git a/ui/src/item.rs b/ui/src/item.rs index eb96a908..4f0c4724 100644 --- a/ui/src/item.rs +++ b/ui/src/item.rs @@ -16,7 +16,6 @@ use data::{ control::Control, custom_temp::{CustomTemp, CustomTempKind}, flat::Flat, - graph::Graph, linear::Linear, target::Target, }, @@ -25,13 +24,15 @@ use data::{ use hardware::{HItem, Hardware}; use crate::{ + graph::graph_view, icon::{icon_button, icon_path_for_node_type, my_icon}, input_line::{input_line, InputLineUnit}, message::{ - AppMsg, ControlMsg, CustomTempMsg, FlatMsg, LinearMsg, ModifNodeMsg, TargetMsg, ToogleMsg, + AppMsg, ControlMsg, CustomTempMsg, FlatMsg, LinearMsg, ModifNodeMsg, TargetMsg, + ToogleMsg, }, my_widgets::{self, drop_down::DropDown, offset::Offset}, - node_cache::{GraphC, LinearC, NodeC, NodesC, TargetC}, + node_cache::{LinearC, NodeC, NodesC, TargetC}, pick_list_utils::{self, MyOption}, }; @@ -455,12 +456,3 @@ fn target_view<'a>( Column::with_children(content).into() } - -fn graph_view<'a>( - node: &'a Node, - _graph: &'a Graph, - _graph_c: &'a GraphC, - _nodes: &'a Nodes, -) -> Element<'a, AppMsg> { - Text::new(node.value_text(&ValueKind::Porcentage)).into() -} diff --git a/ui/src/lib.rs b/ui/src/lib.rs index 3b3e3fa5..94078b72 100644 --- a/ui/src/lib.rs +++ b/ui/src/lib.rs @@ -3,9 +3,10 @@ use std::time::Duration; use data::{ app_graph::AppGraph, config::Config, + id::Id, node::{validate_name, IsValid, NodeType}, settings::AppTheme, - utils::RemoveElem, + utils::{InsertSorted, RemoveElem}, AppState, }; use hardware::{HardwareBridge, Mode}; @@ -18,8 +19,9 @@ use crate::settings_drawer::settings_drawer; use cosmic::{ app::{command, Command, Core}, executor, - iced::{self, time}, + iced::{self, time, window}, iced_core::Length, + iced_runtime::command::Action, theme, widget::{Column, Row, Space}, ApplicationExt, Element, @@ -36,6 +38,7 @@ extern crate log; pub mod localize; mod add_node; +mod graph; mod headers; mod icon; mod input_line; @@ -61,6 +64,7 @@ pub struct Ui { choose_config_expanded: bool, nodes_c: NodesC, is_updating: bool, + graph_expanded: Option<(window::Id, Id)>, } impl cosmic::Application for Ui { @@ -93,6 +97,7 @@ impl cosmic::Application for Ui { choose_config_expanded: false, current_config_cached, is_updating: false, + graph_expanded: None, }; let update_graph_command = ui_state.maybe_update_hardware_to_update_graph(); @@ -310,6 +315,27 @@ impl cosmic::Application for Ui { self.nodes_c.remove(&id); self.app_state.app_graph.sanitize_inputs(false) } + ModifNodeMsg::Graph(graph_msg) => { + let graph = node.node_type.unwrap_graph_mut(); + let _graph_c = self.nodes_c.get_mut(&id).node_type_c.unwrap_graph_mut(); + + match graph_msg { + message::GraphMsg::RemoveCoord(coord) => { + graph.coords.0.remove_elem(|c| c.exact_same(&coord)); + } + message::GraphMsg::AddCoord(coord) => { + graph + .coords + .0 + .insert_sorted(|c| coord.cmp(c), coord.clone()); + } + message::GraphMsg::ReplaceCoord { previous, new } => { + graph.coords.0.remove_elem(|c| c.exact_same(&previous)); + + graph.coords.0.insert_sorted(|c| new.cmp(c), new.clone()); + } + } + } } self.app_state.update.set_invalid_root_nodes_to_auto( @@ -349,6 +375,38 @@ impl cosmic::Application for Ui { let node_c = self.nodes_c.get_mut(&id); node_c.context_menu_expanded = expanded; } + ToogleMsg::GraphWindow(ids) => match ids { + Some(node_id) => { + let mut commands = Vec::new(); + + if let Some((windown_id, _)) = self.graph_expanded { + let command = + Command::single(Action::Window(window::Action::Close(windown_id))); + commands.push(command); + } + + let new_id = window::Id::unique(); + + self.graph_expanded = Some((new_id, node_id)); + + let settings = window::Settings { + ..Default::default() + }; + let command = Command::single(Action::Window(window::Action::Spawn( + new_id, settings, + ))); + commands.push(command); + + return Command::batch(commands); + } + None => { + if let Some((windown_id, _)) = self.graph_expanded { + return Command::single(Action::Window(window::Action::Close( + windown_id, + ))); + } + } + }, }, AppMsg::Config(config_msg) => match config_msg { ConfigMsg::Save => { @@ -511,6 +569,10 @@ impl cosmic::Application for Ui { // todo: pop up. Need to use settings to not close auto None } + + fn view_window(&self, id: window::Id) -> Element { + panic!("no view for window {id:?}"); + } } fn to_cosmic_theme(theme: &AppTheme) -> theme::Theme { diff --git a/ui/src/message.rs b/ui/src/message.rs index e5523f85..526f24c5 100644 --- a/ui/src/message.rs +++ b/ui/src/message.rs @@ -1,5 +1,6 @@ + use data::{ - config::custom_temp::CustomTempKind, + config::{custom_temp::CustomTempKind, graph::Coord}, id::Id, node::{Input, NodeTypeLight}, settings::AppTheme, @@ -44,6 +45,7 @@ pub enum ToogleMsg { Settings, ChooseConfig(bool), NodeContextMenu(Id, bool), + GraphWindow(Option), } #[derive(Debug, Clone)] @@ -59,6 +61,7 @@ pub enum ModifNodeMsg { Flat(FlatMsg), Linear(LinearMsg), Target(TargetMsg), + Graph(GraphMsg), } #[derive(Debug, Clone)] @@ -92,6 +95,14 @@ pub enum TargetMsg { LoadSpeed(u8, String), } +#[allow(clippy::enum_variant_names)] +#[derive(Debug, Clone)] +pub enum GraphMsg { + RemoveCoord(Coord), + AddCoord(Coord), + ReplaceCoord { previous: Coord, new: Coord }, +} + impl From for AppMsg { fn from(value: SettingsMsg) -> Self { AppMsg::Settings(value) diff --git a/ui/src/node_cache.rs b/ui/src/node_cache.rs index ca0abc55..be14af8f 100644 --- a/ui/src/node_cache.rs +++ b/ui/src/node_cache.rs @@ -1,5 +1,6 @@ use std::collections::HashMap; +use cosmic::iced_core::window; use data::{ id::Id, node::{Node, NodeType}, @@ -44,7 +45,9 @@ pub struct TempC {} pub struct CustomTempC {} #[derive(Debug, Clone)] -pub struct GraphC {} +pub struct GraphC { + pub new_window_id: Option, +} #[derive(Debug, Clone)] pub struct FlatC {} @@ -115,7 +118,9 @@ impl NodeTypeC { data::node::NodeType::Fan(_) => NodeTypeC::Fan(FanC {}), data::node::NodeType::Temp(_) => NodeTypeC::Temp(TempC {}), data::node::NodeType::CustomTemp(_) => NodeTypeC::CustomTemp(CustomTempC {}), - data::node::NodeType::Graph(_) => NodeTypeC::Graph(GraphC {}), + data::node::NodeType::Graph(_) => NodeTypeC::Graph(GraphC { + new_window_id: None, + }), data::node::NodeType::Flat(_) => NodeTypeC::Flat(FlatC {}), data::node::NodeType::Linear(linear) => NodeTypeC::Linear(LinearC { min_temp: linear.min_temp.to_string(), From 7df5d6d90ba1bd928bde6d2669cda567b8e85c2f Mon Sep 17 00:00:00 2001 From: wiiznokes <78230769+wiiznokes@users.noreply.github.com> Date: Sun, 7 Apr 2024 16:35:37 +0200 Subject: [PATCH 3/5] finish window multi --- .config/test.toml | 22 ++++++--- data/src/config/graph.rs | 39 +++++++++++++++- i18n/en/ui.ftl | 2 + i18n/fr/ui.ftl | 2 + ui/src/add_node.rs | 1 + ui/src/graph.rs | 77 +++++++++++++++++++++++++++++--- ui/src/item.rs | 3 +- ui/src/lib.rs | 96 +++++++++++++++++++++++++--------------- ui/src/message.rs | 12 ++++- 9 files changed, 201 insertions(+), 53 deletions(-) diff --git a/.config/test.toml b/.config/test.toml index 363ccdd9..73d88af5 100644 --- a/.config/test.toml +++ b/.config/test.toml @@ -1,14 +1,22 @@ +Control = [] +Fan = [] +Temp = [] +Flat = [] +Linear = [] +Target = [] + [[CustomTemp]] name = "CPU" kind = "Average" inputs = [] - [[Graph]] name = "Graph" -input = "max" -coord = [ - { temp = 50, percent = 30 }, - { temp = 50, percent = 30 }, - { temp = 50, percent = 30 }, -] \ No newline at end of file + +[[Graph.coord]] +temp = 50 +percent = 30 + +[[Graph.coord]] +temp = 50 +percent = 30 diff --git a/data/src/config/graph.rs b/data/src/config/graph.rs index 2e37d367..a0e495cb 100644 --- a/data/src/config/graph.rs +++ b/data/src/config/graph.rs @@ -1,3 +1,5 @@ +use std::vec; + use hardware::{Hardware, Value}; use serde::{Deserialize, Deserializer, Serialize}; @@ -15,6 +17,22 @@ pub struct Coord { pub percent: u8, } +impl TryFrom<(&str, &str)> for Coord { + type Error = Box; + + fn try_from((temp, percent): (&str, &str)) -> Result { + let temp = temp.parse::()?; + + let percent = percent.parse::()?; + + if percent > 100 { + return Err("Percent > 100".into()); + } + + Ok(Coord { temp, percent }) + } +} + impl PartialEq for Coord { fn eq(&self, other: &Self) -> bool { self.temp == other.temp @@ -40,7 +58,7 @@ impl Coord { } // todo: better default + UI -#[derive(Serialize, Deserialize, Debug, Clone, Default)] +#[derive(Serialize, Deserialize, Debug, Clone)] pub struct Graph { pub name: String, #[serde(rename = "coord")] @@ -48,6 +66,25 @@ pub struct Graph { pub input: Option, // Temp or CustomTemp } +impl Default for Graph { + fn default() -> Self { + Self { + name: Default::default(), + coords: Coords(vec![ + Coord { + temp: 10, + percent: 10, + }, + Coord { + temp: 70, + percent: 100, + }, + ]), + input: Default::default(), + } + } +} + impl ToNode for Graph { fn to_node(self, id_generator: &mut IdGenerator, nodes: &Nodes, _hardware: &Hardware) -> Node { Node::new(id_generator, NodeType::Graph(self), nodes) diff --git a/i18n/en/ui.ftl b/i18n/en/ui.ftl index a96bf66d..eff90d57 100644 --- a/i18n/en/ui.ftl +++ b/i18n/en/ui.ftl @@ -15,6 +15,7 @@ idle_temp = idle temp idle_speed = idle speed load_temp = load temp load_speed = load speed +launch_graph_window = Add coordinates # Add item description add_item = Add an item @@ -36,6 +37,7 @@ add_target = Take 5 variables: - a sensor value If the sensor > trigger temperature, trigger speed is set until this sensor is < ideal temperature +add_graph = A graph # Config config_name = Configuration name diff --git a/i18n/fr/ui.ftl b/i18n/fr/ui.ftl index b15e465a..12e1e20d 100644 --- a/i18n/fr/ui.ftl +++ b/i18n/fr/ui.ftl @@ -15,6 +15,7 @@ idle_temp = idle temp idle_speed = idle speed load_temp = load temp load_speed = load speed +launch_graph_window = Ajout de coordonnées # Add item description add_item = Ajouter un item @@ -36,6 +37,7 @@ add_target = Prendre 5 variables : - une valeur de capteur Si le capteur > température de déclenchement, la vitesse de déclenchement est définie jusqu'à ce que ce capteur < température idéale +add_graph = Un graph # Config config_name = Nom de la configuration diff --git a/ui/src/add_node.rs b/ui/src/add_node.rs index d074df1d..feea173b 100644 --- a/ui/src/add_node.rs +++ b/ui/src/add_node.rs @@ -15,6 +15,7 @@ pub fn add_node_button_view(expanded: bool) -> Element<'static, AppMsg> { .push(add_item(NodeTypeLight::CustomTemp, fl!("add_custom_temp"))) .push(add_item(NodeTypeLight::Linear, fl!("add_linear"))) .push(add_item(NodeTypeLight::Target, fl!("add_target"))) + .push(add_item(NodeTypeLight::Graph, fl!("add_graph"))) .push(add_item(NodeTypeLight::Flat, fl!("add_flat"))) .push(icon_button("close/40").on_press(AppMsg::Toggle(ToogleMsg::CreateButton(false)))) .into(), diff --git a/ui/src/graph.rs b/ui/src/graph.rs index d2113b73..678a992c 100644 --- a/ui/src/graph.rs +++ b/ui/src/graph.rs @@ -1,19 +1,22 @@ use cosmic::{ + iced::window, iced_core::{Alignment, Length}, iced_widget::PickList, - widget::{Column, Row, Space, Text}, + widget::{button::text, Button, Column, Row, Space, Text, TextInput}, Element, }; use data::{ app_graph::Nodes, - config::graph::Graph, + config::graph::{Coord, Graph}, + id::Id, node::{Input, Node, ValueKind}, }; use crate::{ - icon::icon_button, message::{ - AppMsg, GraphMsg, ModifNodeMsg, - }, node_cache::GraphC, pick_list_utils::{self, MyOption} + icon::icon_button, + message::{AppMsg, GraphMsg, ModifNodeMsg}, + node_cache::GraphC, + pick_list_utils::{self, MyOption}, }; pub fn graph_view<'a>( @@ -44,14 +47,78 @@ pub fn graph_view<'a>( .into() }); + let launch_window = Row::new() + .push(Text::new(fl!("launch_graph_window")).width(Length::Fixed(100.0))) + .push(Space::new(Length::Fill, Length::Fixed(0.0))) + .push(icon_button("add/20").on_press(GraphWindowMsg::Toogle(Some(node.id)).into())) + .align_items(Alignment::Center) + .into(); + // todo: add scrollable ? let coords = Column::with_children(coords).into(); let content = vec![ pick_input, + launch_window, Text::new(node.value_text(&ValueKind::Porcentage)).into(), coords, ]; Column::with_children(content).into() } + +#[derive(Debug, Clone)] +pub enum GraphWindowMsg { + Toogle(Option), + ChangeTemp(String), + ChangePercent(String), +} + +pub struct GraphWindow { + pub window_id: window::Id, + pub node_id: Id, + pub temp_c: String, + pub percent_c: String, +} + +pub fn graph_window_view<'a>( + graph_window: &'a GraphWindow, + _nodes: &'a Nodes, +) -> Element<'a, AppMsg> { + let temp_input = Row::new() + .push( + TextInput::new("temp", &graph_window.temp_c) + .on_input(|s| GraphWindowMsg::ChangeTemp(s).into()), + ) + .push(text("°C")); + + let percent_input = Row::new() + .push( + TextInput::new("percent", &graph_window.percent_c) + .on_input(|s| GraphWindowMsg::ChangePercent(s).into()), + ) + .push(text("%")); + + let coord = Coord::try_from(( + graph_window.temp_c.as_ref(), + graph_window.percent_c.as_ref(), + )); + + let mut add_button = Button::new("add"); + + if let Ok(coord) = coord { + add_button = add_button + .on_press(ModifNodeMsg::Graph(GraphMsg::AddCoord(coord)).to_app(graph_window.node_id)); + } + + let add_row = Row::new() + .push(Button::new("close").on_press(GraphWindowMsg::Toogle(None).into())) + .push(add_button); + + Column::new() + .push(temp_input) + .push(text("=")) + .push(percent_input) + .push(add_row) + .into() +} diff --git a/ui/src/item.rs b/ui/src/item.rs index 4f0c4724..c296a7a1 100644 --- a/ui/src/item.rs +++ b/ui/src/item.rs @@ -28,8 +28,7 @@ use crate::{ icon::{icon_button, icon_path_for_node_type, my_icon}, input_line::{input_line, InputLineUnit}, message::{ - AppMsg, ControlMsg, CustomTempMsg, FlatMsg, LinearMsg, ModifNodeMsg, TargetMsg, - ToogleMsg, + AppMsg, ControlMsg, CustomTempMsg, FlatMsg, LinearMsg, ModifNodeMsg, TargetMsg, ToogleMsg, }, my_widgets::{self, drop_down::DropDown, offset::Offset}, node_cache::{LinearC, NodeC, NodesC, TargetC}, diff --git a/ui/src/lib.rs b/ui/src/lib.rs index 94078b72..674b17a5 100644 --- a/ui/src/lib.rs +++ b/ui/src/lib.rs @@ -3,18 +3,18 @@ use std::time::Duration; use data::{ app_graph::AppGraph, config::Config, - id::Id, node::{validate_name, IsValid, NodeType}, settings::AppTheme, utils::{InsertSorted, RemoveElem}, AppState, }; +use graph::GraphWindow; use hardware::{HardwareBridge, Mode}; use item::items_view; use message::{ConfigMsg, ModifNodeMsg, SettingsMsg, ToogleMsg}; use node_cache::{NodeC, NodesC}; -use crate::settings_drawer::settings_drawer; +use crate::{graph::graph_window_view, settings_drawer::settings_drawer}; use cosmic::{ app::{command, Command, Core}, @@ -64,7 +64,7 @@ pub struct Ui { choose_config_expanded: bool, nodes_c: NodesC, is_updating: bool, - graph_expanded: Option<(window::Id, Id)>, + graph_window: Option, } impl cosmic::Application for Ui { @@ -97,7 +97,7 @@ impl cosmic::Application for Ui { choose_config_expanded: false, current_config_cached, is_updating: false, - graph_expanded: None, + graph_window: None, }; let update_graph_command = ui_state.maybe_update_hardware_to_update_graph(); @@ -375,38 +375,6 @@ impl cosmic::Application for Ui { let node_c = self.nodes_c.get_mut(&id); node_c.context_menu_expanded = expanded; } - ToogleMsg::GraphWindow(ids) => match ids { - Some(node_id) => { - let mut commands = Vec::new(); - - if let Some((windown_id, _)) = self.graph_expanded { - let command = - Command::single(Action::Window(window::Action::Close(windown_id))); - commands.push(command); - } - - let new_id = window::Id::unique(); - - self.graph_expanded = Some((new_id, node_id)); - - let settings = window::Settings { - ..Default::default() - }; - let command = Command::single(Action::Window(window::Action::Spawn( - new_id, settings, - ))); - commands.push(command); - - return Command::batch(commands); - } - None => { - if let Some((windown_id, _)) = self.graph_expanded { - return Command::single(Action::Window(window::Action::Close( - windown_id, - ))); - } - } - }, }, AppMsg::Config(config_msg) => match config_msg { ConfigMsg::Save => { @@ -512,6 +480,56 @@ impl cosmic::Application for Ui { node_c.is_error_name = true; } } + AppMsg::GraphWindow(graph_window_msg) => match graph_window_msg { + graph::GraphWindowMsg::Toogle(node_id) => match node_id { + Some(node_id) => { + let mut commands = Vec::new(); + + if let Some(graph_window) = &self.graph_window { + let command = Command::single(Action::Window(window::Action::Close( + graph_window.window_id, + ))); + commands.push(command); + } + + let new_id = window::Id::unique(); + + self.graph_window = Some(GraphWindow { + window_id: new_id, + node_id, + temp_c: String::new(), + percent_c: String::new(), + }); + + let settings = window::Settings { + ..Default::default() + }; + let command = Command::single(Action::Window(window::Action::Spawn( + new_id, settings, + ))); + commands.push(command); + + return Command::batch(commands); + } + None => { + if let Some(graph_window) = &self.graph_window { + return Command::single(Action::Window(window::Action::Close( + graph_window.window_id, + ))); + } + } + }, + graph::GraphWindowMsg::ChangeTemp(temp) => { + if let Some(graph_window) = &mut self.graph_window { + graph_window.temp_c = temp; + } + } + graph::GraphWindowMsg::ChangePercent(percent) => { + if let Some(graph_window) = &mut self.graph_window { + graph_window.percent_c = percent; + } + } + }, } Command::none() @@ -571,6 +589,12 @@ impl cosmic::Application for Ui { } fn view_window(&self, id: window::Id) -> Element { + if let Some(graph_window) = &self.graph_window { + if graph_window.window_id == id { + return graph_window_view(graph_window, &self.app_state.app_graph.nodes); + } + } + panic!("no view for window {id:?}"); } } diff --git a/ui/src/message.rs b/ui/src/message.rs index 526f24c5..c68e8404 100644 --- a/ui/src/message.rs +++ b/ui/src/message.rs @@ -1,4 +1,3 @@ - use data::{ config::{custom_temp::CustomTempKind, graph::Coord}, id::Id, @@ -6,6 +5,8 @@ use data::{ settings::AppTheme, }; +use crate::graph::GraphWindowMsg; + #[derive(Debug, Clone)] pub enum AppMsg { Tick, @@ -22,6 +23,8 @@ pub enum AppMsg { // can invalidate control ModifNode(Id, ModifNodeMsg), + + GraphWindow(GraphWindowMsg), } #[derive(Debug, Clone)] @@ -45,7 +48,6 @@ pub enum ToogleMsg { Settings, ChooseConfig(bool), NodeContextMenu(Id, bool), - GraphWindow(Option), } #[derive(Debug, Clone)] @@ -109,6 +111,12 @@ impl From for AppMsg { } } +impl From for AppMsg { + fn from(value: GraphWindowMsg) -> Self { + AppMsg::GraphWindow(value) + } +} + impl From for AppMsg { fn from(value: ConfigMsg) -> Self { AppMsg::Config(value) From 64a5f11649fa004ac51ec8b2b138c15c0af9b9bd Mon Sep 17 00:00:00 2001 From: wiiznokes <78230769+wiiznokes@users.noreply.github.com> Date: Sun, 7 Apr 2024 16:46:56 +0200 Subject: [PATCH 4/5] cargo update --- Cargo.lock | 300 ++++++++++++++++++++++++--------------- data/src/config/graph.rs | 1 + 2 files changed, 189 insertions(+), 112 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1efb9f4f..597c164a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "ab_glyph" -version = "0.2.23" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225" +checksum = "8e08104bebc65a46f8bc7aa733d39ea6874bfa7156f41a46b805785e3af1587d" dependencies = [ "ab_glyph_rasterizer", "owned_ttf_parser", @@ -349,17 +349,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" dependencies = [ "concurrent-queue", - "event-listener 5.2.0", - "event-listener-strategy 0.5.0", + "event-listener 5.3.0", + "event-listener-strategy 0.5.1", "futures-core", "pin-project-lite", ] [[package]] name = "async-executor" -version = "1.8.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" +checksum = "10b3e585719c2358d2660232671ca8ca4ddb4be4ce8a1842d6c2dc8685303316" dependencies = [ "async-lock 3.3.0", "async-task", @@ -476,7 +476,7 @@ checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -511,7 +511,7 @@ checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -636,7 +636,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.55", + "syn 2.0.58", "which", ] @@ -759,7 +759,7 @@ checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -798,13 +798,39 @@ dependencies = [ "thiserror", ] +[[package]] +name = "calloop" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" +dependencies = [ + "bitflags 2.5.0", + "log", + "polling 3.6.0", + "rustix 0.38.32", + "slab", + "thiserror", +] + [[package]] name = "calloop-wayland-source" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" dependencies = [ - "calloop", + "calloop 0.12.4", + "rustix 0.38.32", + "wayland-backend", + "wayland-client", +] + +[[package]] +name = "calloop-wayland-source" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" +dependencies = [ + "calloop 0.13.0", "rustix 0.38.32", "wayland-backend", "wayland-client", @@ -812,9 +838,9 @@ dependencies = [ [[package]] name = "cargo-packager-resource-resolver" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13797f4d2ac4fb5a3b5b39380c0338c3a39de0d6ff7eb832129346f6ce7c9750" +checksum = "5b5ef5863f81afa1b45d1b7e01b319d9e940c9be5615bc0a988421987d35c9f8" dependencies = [ "cargo-packager-utils", "heck 0.4.1", @@ -833,9 +859,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.90" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" +checksum = "1fd97381a8cc6493395a5afc4c691c1084b3768db713b73aa215217aa245d153" dependencies = [ "jobserver", "libc", @@ -928,7 +954,7 @@ dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.11.0", + "strsim 0.11.1", ] [[package]] @@ -940,7 +966,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -961,7 +987,7 @@ dependencies = [ [[package]] name = "clipboard_macos" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-2#f290a4fc8674172cd3f221040a73a143138fc8d7" dependencies = [ "objc", "objc-foundation", @@ -971,8 +997,9 @@ dependencies = [ [[package]] name = "clipboard_wayland" version = "0.2.2" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-2#f290a4fc8674172cd3f221040a73a143138fc8d7" dependencies = [ + "dnd", "mime", "smithay-clipboard", ] @@ -980,7 +1007,7 @@ dependencies = [ [[package]] name = "clipboard_x11" version = "0.4.2" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-2#f290a4fc8674172cd3f221040a73a143138fc8d7" dependencies = [ "thiserror", "x11rb", @@ -1155,9 +1182,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core-graphics" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" +checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -1180,7 +1207,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1197,7 +1224,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ "quote", "syn 1.0.109", @@ -1228,7 +1255,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ "almost", "cosmic-config", @@ -1357,7 +1384,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad291aa74992b9b7a7e88c38acbbf6ad7e107f1d90ee8775b7bc1fc3394f485c" dependencies = [ "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -1397,7 +1424,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -1408,7 +1435,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -1482,7 +1509,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", "unicode-xid", ] @@ -1495,7 +1522,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -1552,7 +1579,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -1573,11 +1600,23 @@ dependencies = [ "const-random", ] +[[package]] +name = "dnd" +version = "0.1.0" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-2#f290a4fc8674172cd3f221040a73a143138fc8d7" +dependencies = [ + "bitflags 2.5.0", + "mime", + "raw-window-handle 0.6.0", + "smithay-client-toolkit 0.18.0", + "smithay-clipboard", +] + [[package]] name = "downcast-rs" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" +checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] name = "drm" @@ -1648,7 +1687,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -1745,9 +1784,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.2.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91" +checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" dependencies = [ "concurrent-queue", "parking", @@ -1766,11 +1805,11 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" +checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3" dependencies = [ - "event-listener 5.2.0", + "event-listener 5.3.0", "pin-project-lite", ] @@ -1939,9 +1978,12 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "font-types" -version = "0.4.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b7f6040d337bd44434ab21fc6509154edf2cece88b23758d9d64654c4e7730b" +checksum = "bd6784a76a9c2b136ea3b8462391e9328252e938eb706eb44d752723b4c3a533" +dependencies = [ + "bytemuck", +] [[package]] name = "fontconfig-parser" @@ -1984,7 +2026,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -2119,7 +2161,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -2204,9 +2246,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "a06fddc2749e0528d2813f95e050e87e52c8cbbae56223b9babf73b3e53b0cc6" dependencies = [ "cfg-if", "libc", @@ -2416,9 +2458,9 @@ dependencies = [ [[package]] name = "half" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" dependencies = [ "cfg-if", "crunchy", @@ -2563,7 +2605,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.55", + "syn 2.0.58", "unic-langid", ] @@ -2577,7 +2619,7 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -2606,8 +2648,9 @@ dependencies = [ [[package]] name = "iced" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ + "dnd", "iced_accessibility", "iced_core", "iced_futures", @@ -2615,6 +2658,7 @@ dependencies = [ "iced_widget", "iced_winit", "image", + "mime", "thiserror", "window_clipboard", ] @@ -2622,7 +2666,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ "accesskit", "accesskit_winit", @@ -2631,10 +2675,12 @@ dependencies = [ [[package]] name = "iced_core" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ "bitflags 1.3.2", + "dnd", "log", + "mime", "num-traits", "palette", "raw-window-handle 0.6.0", @@ -2649,7 +2695,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ "futures", "iced_core", @@ -2663,7 +2709,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ "bitflags 1.3.2", "bytemuck", @@ -2687,7 +2733,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2699,8 +2745,9 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ + "dnd", "iced_core", "iced_futures", "thiserror", @@ -2710,7 +2757,7 @@ dependencies = [ [[package]] name = "iced_style" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ "iced_core", "once_cell", @@ -2720,7 +2767,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ "bytemuck", "cosmic-text", @@ -2737,7 +2784,7 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ "bitflags 1.3.2", "bytemuck", @@ -2756,8 +2803,9 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ + "dnd", "iced_renderer", "iced_runtime", "iced_style", @@ -2765,13 +2813,15 @@ dependencies = [ "ouroboros 0.17.2", "thiserror", "unicode-segmentation", + "window_clipboard", ] [[package]] name = "iced_winit" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ + "dnd", "iced_graphics", "iced_runtime", "iced_style", @@ -3078,7 +3128,7 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" +source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" dependencies = [ "apply", "ashpd 0.7.0", @@ -3140,9 +3190,9 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libredox" -version = "0.0.1" +version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" dependencies = [ "bitflags 2.5.0", "libc", @@ -3151,13 +3201,12 @@ dependencies = [ [[package]] name = "libredox" -version = "0.0.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.5.0", "libc", - "redox_syscall 0.4.1", ] [[package]] @@ -3167,7 +3216,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcb64f856d7b5144b0c102ec029f4d8a474c91c86336a2f5e96494e3d2f72db3" dependencies = [ "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -3350,7 +3399,7 @@ dependencies = [ [[package]] name = "mime" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-2#f290a4fc8674172cd3f221040a73a143138fc8d7" dependencies = [ "smithay-clipboard", ] @@ -3584,7 +3633,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -3696,9 +3745,9 @@ dependencies = [ [[package]] name = "ordered-multimap" -version = "0.7.1" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4d6a8c22fc714f0c2373e6091bf6f5e9b37b1bc0b1184874b7e0a4e303d318f" +checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" dependencies = [ "dlv-list", "hashbrown", @@ -3746,7 +3795,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -3760,7 +3809,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -3793,7 +3842,7 @@ checksum = "e8890702dbec0bad9116041ae586f84805b13eecd1d8b1df27c29998a9969d6d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -3904,7 +3953,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -3924,9 +3973,9 @@ checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" [[package]] name = "pin-project-lite" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" [[package]] name = "pin-utils" @@ -4014,7 +4063,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7" dependencies = [ "proc-macro2", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -4077,7 +4126,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", "version_check", "yansi", ] @@ -4197,10 +4246,11 @@ checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f" [[package]] name = "read-fonts" -version = "0.16.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81c524658d3b77930a391f559756d91dbe829ab6cf4687083f615d395df99722" +checksum = "ea75b5ec052843434d263ef7a4c31cf86db5908c729694afb1ad3c884252a1b6" dependencies = [ + "bytemuck", "font-types", ] @@ -4233,12 +4283,12 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" dependencies = [ "getrandom", - "libredox 0.0.1", + "libredox 0.1.3", "thiserror", ] @@ -4365,7 +4415,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.55", + "syn 2.0.58", "walkdir", ] @@ -4481,7 +4531,7 @@ dependencies = [ "ab_glyph", "log", "memmap2", - "smithay-client-toolkit", + "smithay-client-toolkit 0.18.1", "tiny-skia", ] @@ -4529,7 +4579,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -4551,7 +4601,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -4585,7 +4635,7 @@ checksum = "b93fb4adc70021ac1b47f7d45e8cc4169baaa7ea58483bc5b721d19a26202212" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -4691,6 +4741,30 @@ version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" +[[package]] +name = "smithay-client-toolkit" +version = "0.18.0" +source = "git+https://github.com/smithay/client-toolkit?rev=3bed072#3bed072b966022f5f929d12f3aff089b1ace980b" +dependencies = [ + "bitflags 2.5.0", + "calloop 0.13.0", + "calloop-wayland-source 0.3.0", + "cursor-icon", + "libc", + "log", + "memmap2", + "rustix 0.38.32", + "thiserror", + "wayland-backend", + "wayland-client", + "wayland-csd-frame", + "wayland-cursor", + "wayland-protocols", + "wayland-protocols-wlr", + "wayland-scanner", + "xkeysym", +] + [[package]] name = "smithay-client-toolkit" version = "0.18.1" @@ -4698,8 +4772,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" dependencies = [ "bitflags 2.5.0", - "calloop", - "calloop-wayland-source", + "calloop 0.12.4", + "calloop-wayland-source 0.2.0", "cursor-icon", "libc", "log", @@ -4719,10 +4793,11 @@ dependencies = [ [[package]] name = "smithay-clipboard" version = "0.8.0" -source = "git+https://github.com/pop-os/smithay-clipboard?tag=pop-mime-types#cc0101c1f9ccc937a413bd3af3c0f6217f27e935" +source = "git+https://github.com/pop-os/smithay-clipboard?tag=pop-dnd-2#c9e17341ad61b89e4e04315fe34d66d5403b77ef" dependencies = [ "libc", - "smithay-client-toolkit", + "raw-window-handle 0.6.0", + "smithay-client-toolkit 0.18.0", "wayland-backend", ] @@ -4843,9 +4918,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strsim" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "svg_fmt" @@ -4865,9 +4940,9 @@ dependencies = [ [[package]] name = "swash" -version = "0.1.13" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9af636fb90d39858650cae1088a37e2862dab4e874a0bb49d6dfb5b2dacf0e24" +checksum = "06ec889a8e0a6fcb91041996c8f1f6be0fe1a09e94478785e07c32ce2bca2d2b" dependencies = [ "read-fonts", "yazi", @@ -4887,9 +4962,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.55" +version = "2.0.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0" +checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" dependencies = [ "proc-macro2", "quote", @@ -4973,7 +5048,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -5160,7 +5235,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] @@ -5450,7 +5525,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", "wasm-bindgen-shared", ] @@ -5484,7 +5559,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5761,9 +5836,9 @@ dependencies = [ [[package]] name = "widestring" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" +checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" [[package]] name = "winapi" @@ -5799,12 +5874,13 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "window_clipboard" version = "0.4.1" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-2#f290a4fc8674172cd3f221040a73a143138fc8d7" dependencies = [ "clipboard-win", "clipboard_macos", "clipboard_wayland", "clipboard_x11", + "dnd", "mime", "raw-window-handle 0.6.0", "thiserror", @@ -6070,7 +6146,7 @@ dependencies = [ "atomic-waker", "bitflags 2.5.0", "bytemuck", - "calloop", + "calloop 0.12.4", "cfg_aliases 0.1.1", "core-foundation", "core-graphics", @@ -6090,7 +6166,7 @@ dependencies = [ "redox_syscall 0.3.5", "rustix 0.38.32", "sctk-adwaita", - "smithay-client-toolkit", + "smithay-client-toolkit 0.18.1", "smol_str", "unicode-segmentation", "wasm-bindgen", @@ -6209,9 +6285,9 @@ checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" [[package]] name = "xml-rs" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" +checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" [[package]] name = "xmlwriter" @@ -6327,7 +6403,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.55", + "syn 2.0.58", ] [[package]] diff --git a/data/src/config/graph.rs b/data/src/config/graph.rs index a0e495cb..a9c1f924 100644 --- a/data/src/config/graph.rs +++ b/data/src/config/graph.rs @@ -168,6 +168,7 @@ impl Graph { } } +// todo: use it in linear mod affine { use hardware::Value; From fc72db227b9e3fd7d8762c6fe0465af3d26e661a Mon Sep 17 00:00:00 2001 From: wiiznokes <78230769+wiiznokes@users.noreply.github.com> Date: Sun, 7 Apr 2024 19:00:36 +0200 Subject: [PATCH 5/5] Revert "cargo update" This reverts commit 64a5f11649fa004ac51ec8b2b138c15c0af9b9bd. --- Cargo.lock | 300 ++++++++++++++++++++--------------------------------- 1 file changed, 112 insertions(+), 188 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 597c164a..1efb9f4f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "ab_glyph" -version = "0.2.24" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e08104bebc65a46f8bc7aa733d39ea6874bfa7156f41a46b805785e3af1587d" +checksum = "80179d7dd5d7e8c285d67c4a1e652972a92de7475beddfb92028c76463b13225" dependencies = [ "ab_glyph_rasterizer", "owned_ttf_parser", @@ -349,17 +349,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" dependencies = [ "concurrent-queue", - "event-listener 5.3.0", - "event-listener-strategy 0.5.1", + "event-listener 5.2.0", + "event-listener-strategy 0.5.0", "futures-core", "pin-project-lite", ] [[package]] name = "async-executor" -version = "1.9.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10b3e585719c2358d2660232671ca8ca4ddb4be4ce8a1842d6c2dc8685303316" +checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" dependencies = [ "async-lock 3.3.0", "async-task", @@ -476,7 +476,7 @@ checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -511,7 +511,7 @@ checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -636,7 +636,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.58", + "syn 2.0.55", "which", ] @@ -759,7 +759,7 @@ checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -798,39 +798,13 @@ dependencies = [ "thiserror", ] -[[package]] -name = "calloop" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" -dependencies = [ - "bitflags 2.5.0", - "log", - "polling 3.6.0", - "rustix 0.38.32", - "slab", - "thiserror", -] - [[package]] name = "calloop-wayland-source" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" dependencies = [ - "calloop 0.12.4", - "rustix 0.38.32", - "wayland-backend", - "wayland-client", -] - -[[package]] -name = "calloop-wayland-source" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a66a987056935f7efce4ab5668920b5d0dac4a7c99991a67395f13702ddd20" -dependencies = [ - "calloop 0.13.0", + "calloop", "rustix 0.38.32", "wayland-backend", "wayland-client", @@ -838,9 +812,9 @@ dependencies = [ [[package]] name = "cargo-packager-resource-resolver" -version = "0.1.1" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b5ef5863f81afa1b45d1b7e01b319d9e940c9be5615bc0a988421987d35c9f8" +checksum = "13797f4d2ac4fb5a3b5b39380c0338c3a39de0d6ff7eb832129346f6ce7c9750" dependencies = [ "cargo-packager-utils", "heck 0.4.1", @@ -859,9 +833,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.91" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd97381a8cc6493395a5afc4c691c1084b3768db713b73aa215217aa245d153" +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" dependencies = [ "jobserver", "libc", @@ -954,7 +928,7 @@ dependencies = [ "anstream", "anstyle", "clap_lex", - "strsim 0.11.1", + "strsim 0.11.0", ] [[package]] @@ -966,7 +940,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -987,7 +961,7 @@ dependencies = [ [[package]] name = "clipboard_macos" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-2#f290a4fc8674172cd3f221040a73a143138fc8d7" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea" dependencies = [ "objc", "objc-foundation", @@ -997,9 +971,8 @@ dependencies = [ [[package]] name = "clipboard_wayland" version = "0.2.2" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-2#f290a4fc8674172cd3f221040a73a143138fc8d7" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea" dependencies = [ - "dnd", "mime", "smithay-clipboard", ] @@ -1007,7 +980,7 @@ dependencies = [ [[package]] name = "clipboard_x11" version = "0.4.2" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-2#f290a4fc8674172cd3f221040a73a143138fc8d7" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea" dependencies = [ "thiserror", "x11rb", @@ -1182,9 +1155,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "core-graphics" -version = "0.23.2" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" +checksum = "970a29baf4110c26fedbc7f82107d42c23f7e88e404c4577ed73fe99ff85a212" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -1207,7 +1180,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1224,7 +1197,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ "quote", "syn 1.0.109", @@ -1255,7 +1228,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ "almost", "cosmic-config", @@ -1384,7 +1357,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad291aa74992b9b7a7e88c38acbbf6ad7e107f1d90ee8775b7bc1fc3394f485c" dependencies = [ "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -1424,7 +1397,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -1435,7 +1408,7 @@ checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" dependencies = [ "darling_core", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -1509,7 +1482,7 @@ dependencies = [ "convert_case", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", "unicode-xid", ] @@ -1522,7 +1495,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -1579,7 +1552,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -1600,23 +1573,11 @@ dependencies = [ "const-random", ] -[[package]] -name = "dnd" -version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-2#f290a4fc8674172cd3f221040a73a143138fc8d7" -dependencies = [ - "bitflags 2.5.0", - "mime", - "raw-window-handle 0.6.0", - "smithay-client-toolkit 0.18.0", - "smithay-clipboard", -] - [[package]] name = "downcast-rs" -version = "1.2.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "drm" @@ -1687,7 +1648,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -1784,9 +1745,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "5.3.0" +version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" +checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91" dependencies = [ "concurrent-queue", "parking", @@ -1805,11 +1766,11 @@ dependencies = [ [[package]] name = "event-listener-strategy" -version = "0.5.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "332f51cb23d20b0de8458b86580878211da09bcd4503cb579c225b3d124cabb3" +checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" dependencies = [ - "event-listener 5.3.0", + "event-listener 5.2.0", "pin-project-lite", ] @@ -1978,12 +1939,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "font-types" -version = "0.5.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6784a76a9c2b136ea3b8462391e9328252e938eb706eb44d752723b4c3a533" -dependencies = [ - "bytemuck", -] +checksum = "5b7f6040d337bd44434ab21fc6509154edf2cece88b23758d9d64654c4e7730b" [[package]] name = "fontconfig-parser" @@ -2026,7 +1984,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -2161,7 +2119,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -2246,9 +2204,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.13" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06fddc2749e0528d2813f95e050e87e52c8cbbae56223b9babf73b3e53b0cc6" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", "libc", @@ -2458,9 +2416,9 @@ dependencies = [ [[package]] name = "half" -version = "2.4.1" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e" dependencies = [ "cfg-if", "crunchy", @@ -2605,7 +2563,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.10.0", - "syn 2.0.58", + "syn 2.0.55", "unic-langid", ] @@ -2619,7 +2577,7 @@ dependencies = [ "i18n-config", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -2648,9 +2606,8 @@ dependencies = [ [[package]] name = "iced" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ - "dnd", "iced_accessibility", "iced_core", "iced_futures", @@ -2658,7 +2615,6 @@ dependencies = [ "iced_widget", "iced_winit", "image", - "mime", "thiserror", "window_clipboard", ] @@ -2666,7 +2622,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ "accesskit", "accesskit_winit", @@ -2675,12 +2631,10 @@ dependencies = [ [[package]] name = "iced_core" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ "bitflags 1.3.2", - "dnd", "log", - "mime", "num-traits", "palette", "raw-window-handle 0.6.0", @@ -2695,7 +2649,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ "futures", "iced_core", @@ -2709,7 +2663,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ "bitflags 1.3.2", "bytemuck", @@ -2733,7 +2687,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -2745,9 +2699,8 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ - "dnd", "iced_core", "iced_futures", "thiserror", @@ -2757,7 +2710,7 @@ dependencies = [ [[package]] name = "iced_style" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ "iced_core", "once_cell", @@ -2767,7 +2720,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ "bytemuck", "cosmic-text", @@ -2784,7 +2737,7 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ "bitflags 1.3.2", "bytemuck", @@ -2803,9 +2756,8 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ - "dnd", "iced_renderer", "iced_runtime", "iced_style", @@ -2813,15 +2765,13 @@ dependencies = [ "ouroboros 0.17.2", "thiserror", "unicode-segmentation", - "window_clipboard", ] [[package]] name = "iced_winit" version = "0.12.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ - "dnd", "iced_graphics", "iced_runtime", "iced_style", @@ -3128,7 +3078,7 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libcosmic" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic?branch=master#0caff62a1805444d0f7630fb4bf6fb5cee40de7b" +source = "git+https://github.com/pop-os/libcosmic?branch=master#61a14a953dcb052efa6cdaf5b37c74e964896f5f" dependencies = [ "apply", "ashpd 0.7.0", @@ -3190,9 +3140,9 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "libredox" -version = "0.0.2" +version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" +checksum = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" dependencies = [ "bitflags 2.5.0", "libc", @@ -3201,12 +3151,13 @@ dependencies = [ [[package]] name = "libredox" -version = "0.1.3" +version = "0.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +checksum = "3af92c55d7d839293953fcd0fda5ecfe93297cfde6ffbdec13b41d99c0ba6607" dependencies = [ "bitflags 2.5.0", "libc", + "redox_syscall 0.4.1", ] [[package]] @@ -3216,7 +3167,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bcb64f856d7b5144b0c102ec029f4d8a474c91c86336a2f5e96494e3d2f72db3" dependencies = [ "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -3399,7 +3350,7 @@ dependencies = [ [[package]] name = "mime" version = "0.1.0" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-2#f290a4fc8674172cd3f221040a73a143138fc8d7" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea" dependencies = [ "smithay-clipboard", ] @@ -3633,7 +3584,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -3745,9 +3696,9 @@ dependencies = [ [[package]] name = "ordered-multimap" -version = "0.7.3" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79" +checksum = "a4d6a8c22fc714f0c2373e6091bf6f5e9b37b1bc0b1184874b7e0a4e303d318f" dependencies = [ "dlv-list", "hashbrown", @@ -3795,7 +3746,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -3809,7 +3760,7 @@ dependencies = [ "proc-macro2", "proc-macro2-diagnostics", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -3842,7 +3793,7 @@ checksum = "e8890702dbec0bad9116041ae586f84805b13eecd1d8b1df27c29998a9969d6d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -3953,7 +3904,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -3973,9 +3924,9 @@ checksum = "5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315" [[package]] name = "pin-project-lite" -version = "0.2.14" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -4063,7 +4014,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7" dependencies = [ "proc-macro2", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -4126,7 +4077,7 @@ checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", "version_check", "yansi", ] @@ -4246,11 +4197,10 @@ checksum = "3b42e27ef78c35d3998403c1d26f3efd9e135d3e5121b0a4845cc5cc27547f4f" [[package]] name = "read-fonts" -version = "0.19.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea75b5ec052843434d263ef7a4c31cf86db5908c729694afb1ad3c884252a1b6" +checksum = "81c524658d3b77930a391f559756d91dbe829ab6cf4687083f615d395df99722" dependencies = [ - "bytemuck", "font-types", ] @@ -4283,12 +4233,12 @@ dependencies = [ [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" dependencies = [ "getrandom", - "libredox 0.1.3", + "libredox 0.0.1", "thiserror", ] @@ -4415,7 +4365,7 @@ dependencies = [ "proc-macro2", "quote", "rust-embed-utils", - "syn 2.0.58", + "syn 2.0.55", "walkdir", ] @@ -4531,7 +4481,7 @@ dependencies = [ "ab_glyph", "log", "memmap2", - "smithay-client-toolkit 0.18.1", + "smithay-client-toolkit", "tiny-skia", ] @@ -4579,7 +4529,7 @@ checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -4601,7 +4551,7 @@ checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -4635,7 +4585,7 @@ checksum = "b93fb4adc70021ac1b47f7d45e8cc4169baaa7ea58483bc5b721d19a26202212" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -4741,30 +4691,6 @@ version = "1.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" -[[package]] -name = "smithay-client-toolkit" -version = "0.18.0" -source = "git+https://github.com/smithay/client-toolkit?rev=3bed072#3bed072b966022f5f929d12f3aff089b1ace980b" -dependencies = [ - "bitflags 2.5.0", - "calloop 0.13.0", - "calloop-wayland-source 0.3.0", - "cursor-icon", - "libc", - "log", - "memmap2", - "rustix 0.38.32", - "thiserror", - "wayland-backend", - "wayland-client", - "wayland-csd-frame", - "wayland-cursor", - "wayland-protocols", - "wayland-protocols-wlr", - "wayland-scanner", - "xkeysym", -] - [[package]] name = "smithay-client-toolkit" version = "0.18.1" @@ -4772,8 +4698,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" dependencies = [ "bitflags 2.5.0", - "calloop 0.12.4", - "calloop-wayland-source 0.2.0", + "calloop", + "calloop-wayland-source", "cursor-icon", "libc", "log", @@ -4793,11 +4719,10 @@ dependencies = [ [[package]] name = "smithay-clipboard" version = "0.8.0" -source = "git+https://github.com/pop-os/smithay-clipboard?tag=pop-dnd-2#c9e17341ad61b89e4e04315fe34d66d5403b77ef" +source = "git+https://github.com/pop-os/smithay-clipboard?tag=pop-mime-types#cc0101c1f9ccc937a413bd3af3c0f6217f27e935" dependencies = [ "libc", - "raw-window-handle 0.6.0", - "smithay-client-toolkit 0.18.0", + "smithay-client-toolkit", "wayland-backend", ] @@ -4918,9 +4843,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "strsim" -version = "0.11.1" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" [[package]] name = "svg_fmt" @@ -4940,9 +4865,9 @@ dependencies = [ [[package]] name = "swash" -version = "0.1.15" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ec889a8e0a6fcb91041996c8f1f6be0fe1a09e94478785e07c32ce2bca2d2b" +checksum = "9af636fb90d39858650cae1088a37e2862dab4e874a0bb49d6dfb5b2dacf0e24" dependencies = [ "read-fonts", "yazi", @@ -4962,9 +4887,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.58" +version = "2.0.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" +checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0" dependencies = [ "proc-macro2", "quote", @@ -5048,7 +4973,7 @@ checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -5235,7 +5160,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]] @@ -5525,7 +5450,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", "wasm-bindgen-shared", ] @@ -5559,7 +5484,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5836,9 +5761,9 @@ dependencies = [ [[package]] name = "widestring" -version = "1.1.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" [[package]] name = "winapi" @@ -5874,13 +5799,12 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "window_clipboard" version = "0.4.1" -source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-dnd-2#f290a4fc8674172cd3f221040a73a143138fc8d7" +source = "git+https://github.com/pop-os/window_clipboard.git?tag=pop-mime-types#f65a6c303bbbd6c7bf88f9bc34421ec06d893bea" dependencies = [ "clipboard-win", "clipboard_macos", "clipboard_wayland", "clipboard_x11", - "dnd", "mime", "raw-window-handle 0.6.0", "thiserror", @@ -6146,7 +6070,7 @@ dependencies = [ "atomic-waker", "bitflags 2.5.0", "bytemuck", - "calloop 0.12.4", + "calloop", "cfg_aliases 0.1.1", "core-foundation", "core-graphics", @@ -6166,7 +6090,7 @@ dependencies = [ "redox_syscall 0.3.5", "rustix 0.38.32", "sctk-adwaita", - "smithay-client-toolkit 0.18.1", + "smithay-client-toolkit", "smol_str", "unicode-segmentation", "wasm-bindgen", @@ -6285,9 +6209,9 @@ checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" [[package]] name = "xml-rs" -version = "0.8.20" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791978798f0597cfc70478424c2b4fdc2b7a8024aaff78497ef00f24ef674193" +checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" [[package]] name = "xmlwriter" @@ -6403,7 +6327,7 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.55", ] [[package]]