diff --git a/src/backend/wayland/buffer.rs b/src/backend/wayland/buffer.rs index 12cd105..add8f69 100644 --- a/src/backend/wayland/buffer.rs +++ b/src/backend/wayland/buffer.rs @@ -99,7 +99,7 @@ impl AppData { x.format == format && (!needs_linear || x.modifier == u64::from(gbm::Modifier::Linear)) }) - .filter_map(|x| gbm::Modifier::try_from(x.modifier).ok()) + .map(|x| gbm::Modifier::from(x.modifier)) .collect::>(); if modifiers.is_empty() { diff --git a/src/main.rs b/src/main.rs index 5524d88..7bb0df2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -128,7 +128,7 @@ enum Msg { SourceFinished, #[allow(dead_code)] NewWorkspace, - CompConfig(CosmicCompConfig), + CompConfig(Box), Config(CosmicWorkspacesConfig), } @@ -176,20 +176,12 @@ enum DragSurface { }, } +#[derive(Default)] struct Conf { workspace_config: cosmic_comp_config::workspace::WorkspaceConfig, config: CosmicWorkspacesConfig, } -impl Default for Conf { - fn default() -> Self { - Self { - workspace_config: Default::default(), - config: Default::default(), - } - } -} - #[derive(Default)] struct App { layer_surfaces: HashMap, @@ -619,7 +611,7 @@ impl Application for App { if !update.errors.is_empty() { log::error!("Failed to load compositor config: {:?}", update.errors); } - Msg::CompConfig(update.config) + Msg::CompConfig(Box::new(update.config)) }); let mut subscriptions = vec![events, config_subscription, comp_config_subscription]; if let Some(conn) = self.conn.clone() { diff --git a/src/utils.rs b/src/utils.rs index c3c4bbc..9e88854 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -34,18 +34,18 @@ pub fn create_memfile() -> rustix::io::Result { time.duration_since(UNIX_EPOCH).unwrap().subsec_nanos() ); - match rustix::shm::shm_open(&name, flags, 0600.into()) { + match rustix::shm::shm_open(&name, flags, 0o600.into()) { Ok(fd) => match rustix::shm::shm_unlink(&name) { Ok(_) => return Ok(fd), Err(errno) => { - return Err(errno.into()); + return Err(errno); } }, #[allow(unreachable_patterns)] Err(Errno::EXIST | Errno::EXIST) => { continue; } - Err(err) => return Err(err.into()), + Err(errno) => return Err(errno), } } } diff --git a/src/view/mod.rs b/src/view/mod.rs index 95d1ff2..8afb159 100644 --- a/src/view/mod.rs +++ b/src/view/mod.rs @@ -222,7 +222,7 @@ pub(crate) fn toplevel_preview(toplevel: &Toplevel) -> cosmic::Element { .padding(4); crate::widgets::workspace_item( vec![ - close_button(Msg::CloseToplevel(toplevel.handle.clone())).into(), + close_button(Msg::CloseToplevel(toplevel.handle.clone())), widget::button(capture_image(toplevel.img.as_ref())) .selected( toplevel diff --git a/src/widgets/toplevels.rs b/src/widgets/toplevels.rs index 87958e5..7abe6fd 100644 --- a/src/widgets/toplevels.rs +++ b/src/widgets/toplevels.rs @@ -40,7 +40,7 @@ impl AxisExt for Axis { } } -pub fn toplevels<'a, Msg>(children: Vec>) -> Toplevels<'a, Msg> { +pub fn toplevels(children: Vec>) -> Toplevels { Toplevels { axis: Axis::Horizontal, children, diff --git a/src/widgets/workspace_bar.rs b/src/widgets/workspace_bar.rs index c950a9c..97fd62e 100644 --- a/src/widgets/workspace_bar.rs +++ b/src/widgets/workspace_bar.rs @@ -43,10 +43,7 @@ impl AxisExt for Axis { } } -pub fn workspace_bar<'a, Msg>( - children: Vec>, - axis: Axis, -) -> WorkspaceBar<'a, Msg> { +pub fn workspace_bar(children: Vec>, axis: Axis) -> WorkspaceBar { WorkspaceBar { axis, children, diff --git a/src/widgets/workspace_item.rs b/src/widgets/workspace_item.rs index 9ce2cd6..41f60cd 100644 --- a/src/widgets/workspace_item.rs +++ b/src/widgets/workspace_item.rs @@ -45,10 +45,7 @@ impl AxisExt for Axis { } } -pub fn workspace_item<'a, Msg>( - children: Vec>, - axis: Axis, -) -> WorkspaceItem<'a, Msg> { +pub fn workspace_item(children: Vec>, axis: Axis) -> WorkspaceItem { WorkspaceItem { axis, children,