1
0
Fork 0
mirror of https://github.com/Zedfrigg/ironbar.git synced 2025-08-17 23:01:04 +02:00

refactor: update to rust 2024, fix strict clippy warnings

This commit is contained in:
Jake Stanger 2025-02-21 16:35:54 +00:00
parent 79c917857c
commit 202c19efd4
No known key found for this signature in database
GPG key ID: C51FC8F9CB0BEA61
57 changed files with 132 additions and 124 deletions

View file

@ -2,13 +2,13 @@ use crate::config::CommonConfig;
use crate::modules::{Module, ModuleInfo, ModuleParts, ModuleUpdateEvent, WidgetContext};
use crate::{glib_recv, module_impl, spawn, try_send};
use cairo::{Format, ImageSurface};
use glib::translate::IntoGlibPtr;
use glib::Propagation;
use gtk::prelude::*;
use glib::translate::IntoGlibPtr;
use gtk::DrawingArea;
use gtk::prelude::*;
use mlua::{Error, Function, LightUserData};
use notify::event::ModifyKind;
use notify::{recommended_watcher, Event, EventKind, RecursiveMode, Watcher};
use notify::{Event, EventKind, RecursiveMode, Watcher, recommended_watcher};
use serde::Deserialize;
use std::fs;
use std::path::PathBuf;

View file

@ -1,5 +1,5 @@
use gtk::prelude::*;
use gtk::Image;
use gtk::prelude::*;
use serde::Deserialize;
use crate::build;

View file

@ -1,5 +1,5 @@
use gtk::prelude::*;
use gtk::Label;
use gtk::prelude::*;
use serde::Deserialize;
use super::{CustomWidget, CustomWidgetContext};

View file

@ -5,16 +5,16 @@ mod label;
mod progress;
mod slider;
use self::r#box::BoxWidget;
use self::image::ImageWidget;
use self::label::LabelWidget;
use self::r#box::BoxWidget;
use self::slider::SliderWidget;
use crate::config::{CommonConfig, ModuleConfig};
use crate::modules::custom::button::ButtonWidget;
use crate::modules::custom::progress::ProgressWidget;
use crate::modules::{
wrap_widget, AnyModuleFactory, BarModuleFactory, Module, ModuleInfo, ModuleParts, ModulePopup,
ModuleUpdateEvent, PopupButton, PopupModuleFactory, WidgetContext,
AnyModuleFactory, BarModuleFactory, Module, ModuleInfo, ModuleParts, ModulePopup,
ModuleUpdateEvent, PopupButton, PopupModuleFactory, WidgetContext, wrap_widget,
};
use crate::script::Script;
use crate::{module_impl, send_async, spawn};

View file

@ -1,5 +1,5 @@
use gtk::prelude::*;
use gtk::ProgressBar;
use gtk::prelude::*;
use serde::Deserialize;
use tokio::sync::mpsc;
use tracing::error;

View file

@ -2,8 +2,8 @@ use glib::Propagation;
use std::cell::Cell;
use std::ops::Neg;
use gtk::prelude::*;
use gtk::Scale;
use gtk::prelude::*;
use serde::Deserialize;
use tokio::sync::mpsc;
use tracing::error;

View file

@ -6,8 +6,8 @@ use crate::image::ImageProvider;
use crate::modules::{Module, ModuleInfo, ModuleParts, ModuleUpdateEvent, WidgetContext};
use crate::{glib_recv, module_impl, send_async, spawn, try_send};
use color_eyre::Result;
use gtk::prelude::*;
use gtk::Label;
use gtk::prelude::*;
use serde::Deserialize;
use tokio::sync::mpsc;
use tracing::debug;

View file

@ -1,8 +1,8 @@
use std::collections::HashMap;
use color_eyre::eyre::Report;
use color_eyre::Result;
use gtk::{prelude::*, Button};
use color_eyre::eyre::Report;
use gtk::{Button, prelude::*};
use serde::Deserialize;
use tokio::sync::mpsc;
use tracing::{debug, trace};
@ -217,7 +217,9 @@ impl Module<gtk::Box> for KeyboardModule {
module_update!(tx, KeyboardUpdate::Layout(payload));
}
Err(tokio::sync::broadcast::error::RecvError::Lagged(count)) => {
tracing::warn!("Channel lagged behind by {count}, this may result in unexpected or broken behaviour");
tracing::warn!(
"Channel lagged behind by {count}, this may result in unexpected or broken behaviour"
);
}
Err(err) => {
tracing::error!("{err:?}");

View file

@ -3,8 +3,8 @@ use crate::clients::wayland::ToplevelInfo;
use crate::config::{BarPosition, TruncateMode};
use crate::gtk_helpers::{IronbarGtkExt, IronbarLabelExt};
use crate::image::ImageProvider;
use crate::modules::launcher::{ItemEvent, LauncherUpdate};
use crate::modules::ModuleUpdateEvent;
use crate::modules::launcher::{ItemEvent, LauncherUpdate};
use crate::{read_lock, try_send};
use glib::Propagation;
use gtk::gdk::{BUTTON_MIDDLE, BUTTON_PRIMARY};

View file

@ -221,7 +221,7 @@ impl Module<gtk::Box> for LauncherModule {
let icon_override = info
.icon_overrides
.get(app_id)
.map_or_else(String::new, |v| v.to_string());
.map_or_else(String::new, ToString::to_string);
(
app_id.to_string(),
@ -250,19 +250,16 @@ impl Module<gtk::Box> for LauncherModule {
for info in handles {
let mut items = lock!(items);
let item = items.get_mut(&info.app_id);
match item {
Some(item) => {
item.merge_toplevel(info.clone());
}
None => {
let mut item = Item::from(info.clone());
if let Some(item) = item {
item.merge_toplevel(info.clone());
} else {
let mut item = Item::from(info.clone());
if let Some(icon) = icon_overrides.get(&info.app_id) {
item.icon_override = icon.clone();
}
items.insert(info.app_id.clone(), item);
if let Some(icon) = icon_overrides.get(&info.app_id) {
item.icon_override.clone_from(icon);
}
items.insert(info.app_id.clone(), item);
}
}
@ -294,7 +291,7 @@ impl Module<gtk::Box> for LauncherModule {
let mut item: Item = info.into();
if let Some(icon) = icon_overrides.get(&app_id) {
item.icon_override = icon.clone();
item.icon_override.clone_from(icon);
}
items.insert(app_id.clone(), item.clone());

View file

@ -15,7 +15,7 @@ use crate::clients::{ClientResult, ProvidesClient, ProvidesFallibleClient};
use crate::config::{BarPosition, CommonConfig, TransitionType};
use crate::gtk_helpers::{IronbarGtkExt, WidgetGeometry};
use crate::popup::Popup;
use crate::{glib_recv_mpsc, send, Ironbar};
use crate::{Ironbar, glib_recv_mpsc, send};
#[cfg(feature = "cairo")]
pub mod cairo;

View file

@ -1,7 +1,7 @@
use std::cell::RefMut;
use std::path::PathBuf;
use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::Arc;
use std::sync::atomic::{AtomicBool, Ordering};
use std::time::Duration;
use color_eyre::Result;
@ -12,12 +12,12 @@ use regex::Regex;
use tokio::sync::{broadcast, mpsc};
use tracing::error;
use crate::clients::Clients;
use crate::clients::music::{
self, MusicClient, PlayerState, PlayerUpdate, ProgressTick, Status, Track,
};
use crate::clients::Clients;
use crate::gtk_helpers::{IronbarGtkExt, IronbarLabelExt};
use crate::image::{new_icon_button, IconLabel, ImageProvider};
use crate::image::{IconLabel, ImageProvider, new_icon_button};
use crate::modules::PopupButton;
use crate::modules::{
Module, ModuleInfo, ModuleParts, ModulePopup, ModuleUpdateEvent, WidgetContext,

View file

@ -4,8 +4,8 @@ use crate::modules::{Module, ModuleInfo, ModuleParts, ModuleUpdateEvent, WidgetC
use crate::script::{OutputStream, Script, ScriptMode};
use crate::{glib_recv, module_impl, spawn, try_send};
use color_eyre::{Help, Report, Result};
use gtk::prelude::*;
use gtk::Label;
use gtk::prelude::*;
use serde::Deserialize;
use tokio::sync::mpsc;
use tracing::error;

View file

@ -3,8 +3,8 @@ use crate::gtk_helpers::IronbarLabelExt;
use crate::modules::{Module, ModuleInfo, ModuleParts, ModuleUpdateEvent, WidgetContext};
use crate::{await_sync, glib_recv, module_impl, try_send};
use color_eyre::{Report, Result};
use gtk::prelude::*;
use gtk::Label;
use gtk::prelude::*;
use serde::Deserialize;
use swayipc_async::ModeEvent;
use tokio::sync::mpsc;

View file

@ -9,8 +9,8 @@ use crate::modules::sysinfo::token::Part;
use crate::modules::{Module, ModuleInfo, ModuleParts, ModuleUpdateEvent, WidgetContext};
use crate::{clients, glib_recv, module_impl, send_async, spawn, try_send};
use color_eyre::Result;
use gtk::prelude::*;
use gtk::Label;
use gtk::prelude::*;
use serde::Deserialize;
use std::time::Duration;
use tokio::sync::mpsc;

View file

@ -1,5 +1,5 @@
use super::token::{Alignment, Part, Token};
use super::Interval;
use super::token::{Alignment, Part, Token};
use crate::clients;
use crate::clients::sysinfo::{TokenType, Value, ValueSet};
@ -85,7 +85,7 @@ impl Token {
TokenType::LoadAverage15 => get(client.load_average_15()),
// String tokens
TokenType::Uptime => TokenValue::String(client.uptime()),
TokenType::Uptime => TokenValue::String(clients::sysinfo::Client::uptime()),
}
}
}

View file

@ -65,7 +65,10 @@ impl Module<gtk::Box> for TrayModule {
let client = context.try_client::<tray::Client>()?;
let mut tray_rx = client.subscribe();
let initial_items = lock!(client.items()).clone();
let initial_items = {
let items = client.items();
lock!(items).clone()
};
// listen to tray updates
spawn(async move {

View file

@ -1,6 +1,6 @@
use color_eyre::Result;
use futures_lite::stream::StreamExt;
use gtk::{prelude::*, Button};
use gtk::{Button, prelude::*};
use gtk::{Label, Orientation};
use serde::Deserialize;
use tokio::sync::{broadcast, mpsc};

View file

@ -3,8 +3,8 @@ use crate::gtk_helpers::IronbarGtkExt;
use crate::image::new_icon_button;
use crate::modules::workspaces::WorkspaceItemContext;
use crate::try_send;
use gtk::prelude::*;
use gtk::Button as GtkButton;
use gtk::prelude::*;
#[derive(Debug, Clone)]
pub struct Button {

View file

@ -10,8 +10,8 @@ use crate::modules::workspaces::open_state::OpenState;
use crate::modules::{Module, ModuleInfo, ModuleParts, ModuleUpdateEvent, WidgetContext};
use crate::{glib_recv, module_impl, send_async, spawn};
use color_eyre::{Report, Result};
use gtk::prelude::*;
use gtk::IconTheme;
use gtk::prelude::*;
use serde::Deserialize;
use std::cmp::Ordering;
use std::collections::HashMap;