From fea1f1852484c0ac2686152be26817d57e19146e Mon Sep 17 00:00:00 2001 From: Jake Stanger Date: Fri, 25 Aug 2023 22:55:00 +0100 Subject: [PATCH] refactor: fix new clippy warnings, fmt --- src/bar.rs | 11 +++++------ src/desktop_file.rs | 12 +++++++++--- src/global_state.rs | 14 +++++++------- src/main.rs | 4 +++- src/modules/mod.rs | 21 +++++++++++---------- src/modules/music/mod.rs | 4 +++- 6 files changed, 38 insertions(+), 28 deletions(-) diff --git a/src/bar.rs b/src/bar.rs index a2e91bb..7ef66a4 100644 --- a/src/bar.rs +++ b/src/bar.rs @@ -4,14 +4,13 @@ use crate::modules::{ }; use crate::popup::Popup; use crate::unique_id::get_unique_usize; -use crate::{arc_rw, Config, GlobalState}; +use crate::{Config, GlobalState}; use color_eyre::Result; use gtk::gdk::Monitor; use gtk::prelude::*; use gtk::{Application, ApplicationWindow, IconTheme, Orientation}; use std::cell::RefCell; use std::rc::Rc; -use std::sync::{Arc, RwLock}; use tracing::{debug, info}; /// Creates a new window for a bar, @@ -153,7 +152,7 @@ fn create_container(name: &str, orientation: Orientation) -> gtk::Box { #[derive(Debug)] struct BarLoadResult { - popup: Arc>, + popup: Rc>, } /// Loads the configured modules onto a bar. @@ -186,7 +185,7 @@ fn load_modules( // popup ignores module location so can bodge this for now let popup = Popup::new(&info!(ModuleLocation::Left), config.popup_gap); - let popup = arc_rw!(popup); + let popup = Rc::new(RefCell::new(popup)); if let Some(modules) = config.start { let info = info!(ModuleLocation::Left); @@ -214,7 +213,7 @@ fn add_modules( content: >k::Box, modules: Vec, info: &ModuleInfo, - popup: &Arc>, + popup: &Rc>, ) -> Result<()> { let orientation = info.bar_position.get_orientation(); @@ -226,7 +225,7 @@ fn add_modules( $id, common.name.clone(), &info, - &Arc::clone(&popup), + &Rc::clone(&popup), )?; set_widget_identifiers(&widget_parts, &common); diff --git a/src/desktop_file.rs b/src/desktop_file.rs index 38ddb36..7df1018 100644 --- a/src/desktop_file.rs +++ b/src/desktop_file.rs @@ -109,7 +109,9 @@ fn find_desktop_file_by_filedata(app_id: &str, files: &[PathBuf]) -> Option Option { file.lines() .filter_map(|line| { - let Some((key, value)) = line.split_once('=') else { return None }; + let Some((key, value)) = line.split_once('=') else { + return None; + }; let key = key.trim(); let value = value.trim(); @@ -185,7 +189,9 @@ fn parse_desktop_file(path: &Path) -> Option { /// Attempts to get the icon name from the app's `.desktop` file. pub fn get_desktop_icon_name(app_id: &str) -> Option { - let Some(path) = find_desktop_file(app_id) else { return None }; + let Some(path) = find_desktop_file(app_id) else { + return None; + }; let mut desktop_files_cache = lock!(DESKTOP_FILES); diff --git a/src/global_state.rs b/src/global_state.rs index a43f365..d022b35 100644 --- a/src/global_state.rs +++ b/src/global_state.rs @@ -1,7 +1,7 @@ use crate::popup::Popup; -use crate::write_lock; +use std::cell::{RefCell, RefMut}; use std::collections::HashMap; -use std::sync::{Arc, RwLock, RwLockWriteGuard}; +use std::rc::Rc; /// Global application state shared across all bars. /// @@ -9,7 +9,7 @@ use std::sync::{Arc, RwLock, RwLockWriteGuard}; /// that is not otherwise accessible should be placed on here. #[derive(Debug)] pub struct GlobalState { - popups: HashMap, Arc>>, + popups: HashMap, Rc>>, } impl GlobalState { @@ -19,22 +19,22 @@ impl GlobalState { } } - pub fn popups(&self) -> &HashMap, Arc>> { + pub fn popups(&self) -> &HashMap, Rc>> { &self.popups } - pub fn popups_mut(&mut self) -> &mut HashMap, Arc>> { + pub fn popups_mut(&mut self) -> &mut HashMap, Rc>> { &mut self.popups } pub fn with_popup_mut(&self, monitor_name: &str, f: F) -> Option where - F: FnOnce(RwLockWriteGuard) -> T, + F: FnOnce(RefMut) -> T, { let popup = self.popups().get(monitor_name); if let Some(popup) = popup { - let popup = write_lock!(popup); + let popup = popup.borrow_mut(); Some(f(popup)) } else { None diff --git a/src/main.rs b/src/main.rs index cb509c9..4c47b28 100644 --- a/src/main.rs +++ b/src/main.rs @@ -224,7 +224,9 @@ fn create_bars( .get(i as usize) .ok_or_else(|| Report::msg(error::ERR_OUTPUTS))?; - let Some(monitor_name) = &output.name else { continue }; + let Some(monitor_name) = &output.name else { + continue; + }; config.monitors.as_ref().map_or_else( || { diff --git a/src/modules/mod.rs b/src/modules/mod.rs index e1031ac..79580a1 100644 --- a/src/modules/mod.rs +++ b/src/modules/mod.rs @@ -1,4 +1,5 @@ -use std::sync::{Arc, RwLock}; +use std::cell::RefCell; +use std::rc::Rc; use color_eyre::Result; use glib::IsA; @@ -12,7 +13,7 @@ use crate::bridge_channel::BridgeChannel; use crate::config::{BarPosition, CommonConfig, TransitionType}; use crate::gtk_helpers::{IronbarGtkExt, WidgetGeometry}; use crate::popup::Popup; -use crate::{send, write_lock}; +use crate::send; #[cfg(feature = "clipboard")] pub mod clipboard; @@ -178,7 +179,7 @@ pub fn create_module( id: usize, name: Option, info: &ModuleInfo, - popup: &Arc>, + popup: &Rc>, ) -> Result> where TModule: Module, @@ -234,12 +235,12 @@ where /// Registers the popup content with the popup. fn register_popup_content( - popup: &Arc>, + popup: &Rc>, id: usize, name: String, popup_content: ModulePopupParts, ) { - write_lock!(popup).register_content(id, name, popup_content); + popup.borrow_mut().register_content(id, name, popup_content); } /// Sets up the bridge channel receiver @@ -251,7 +252,7 @@ fn setup_receiver( channel: BridgeChannel>, w_tx: glib::Sender, p_tx: glib::Sender, - popup: Arc>, + popup: Rc>, name: &'static str, id: usize, has_popup: bool, @@ -273,7 +274,7 @@ fn setup_receiver( } ModuleUpdateEvent::TogglePopup(button_id) => { debug!("Toggling popup for {} [#{}]", name, id); - let mut popup = write_lock!(popup); + let mut popup = popup.borrow_mut(); if popup.is_visible() { popup.hide(); } else { @@ -289,7 +290,7 @@ fn setup_receiver( ModuleUpdateEvent::OpenPopup(button_id) => { debug!("Opening popup for {} [#{}]", name, id); - let mut popup = write_lock!(popup); + let mut popup = popup.borrow_mut(); popup.hide(); popup.show(id, button_id); @@ -302,7 +303,7 @@ fn setup_receiver( ModuleUpdateEvent::OpenPopupAt(geometry) => { debug!("Opening popup for {} [#{}]", name, id); - let mut popup = write_lock!(popup); + let mut popup = popup.borrow_mut(); popup.hide(); popup.show_at(id, geometry); @@ -315,7 +316,7 @@ fn setup_receiver( ModuleUpdateEvent::ClosePopup => { debug!("Closing popup for {} [#{}]", name, id); - let mut popup = write_lock!(popup); + let mut popup = popup.borrow_mut(); popup.hide(); } } diff --git a/src/modules/music/mod.rs b/src/modules/music/mod.rs index ccf1490..49362ea 100644 --- a/src/modules/music/mod.rs +++ b/src/modules/music/mod.rs @@ -216,7 +216,9 @@ impl Module