diff --git a/examples/worf-hyprswitch/src/main.rs b/examples/worf-hyprswitch/src/main.rs index d0f5395..b949984 100644 --- a/examples/worf-hyprswitch/src/main.rs +++ b/examples/worf-hyprswitch/src/main.rs @@ -1,10 +1,12 @@ -use hyprland::dispatch::{DispatchType, WindowIdentifier}; -use hyprland::prelude::HyprData; -use hyprland::shared::Address; -use rayon::prelude::*; use std::{env, sync::Arc}; -use sysinfo::{Pid, System}; +use hyprland::{ + dispatch::{DispatchType, WindowIdentifier}, + prelude::HyprData, + shared::Address, +}; +use rayon::prelude::*; +use sysinfo::{Pid, System}; use worf_lib::{ config::{self, Config}, desktop::EntryType, diff --git a/examples/worf-warden/src/main.rs b/examples/worf-warden/src/main.rs index 54468a1..31d79af 100644 --- a/examples/worf-warden/src/main.rs +++ b/examples/worf-warden/src/main.rs @@ -1,12 +1,10 @@ -use std::collections::HashMap; -use std::env; -use std::process::Command; -use std::thread::sleep; -use std::time::Duration; -use worf_lib::config::{Config, CustomKeyHintLocation}; -use worf_lib::desktop::{copy_to_clipboard, spawn_fork}; -use worf_lib::gui::{CustomKeyHint, CustomKeys, ItemProvider, Key, KeyBinding, MenuItem, Modifier}; -use worf_lib::{config, gui}; +use std::{collections::HashMap, env, process::Command, thread::sleep, time::Duration}; + +use worf_lib::{ + config::{self, Config, CustomKeyHintLocation}, + desktop::{copy_to_clipboard, spawn_fork}, + gui::{self, CustomKeyHint, CustomKeys, ItemProvider, Key, KeyBinding, MenuItem, Modifier}, +}; #[derive(Clone)] struct MenuItemMetaData { diff --git a/worf/src/lib/config.rs b/worf/src/lib/config.rs index 32e355f..21d362e 100644 --- a/worf/src/lib/config.rs +++ b/worf/src/lib/config.rs @@ -1,12 +1,12 @@ -use crate::Error; +use std::{env, fs, path::PathBuf, str::FromStr}; + use clap::{Parser, ValueEnum}; use serde::{Deserialize, Serialize}; use serde_json::Value; -use std::path::PathBuf; -use std::str::FromStr; -use std::{env, fs}; use thiserror::Error; +use crate::Error; + #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, Serialize, Deserialize)] pub enum Anchor { Top, diff --git a/worf/src/lib/desktop.rs b/worf/src/lib/desktop.rs index ca34ff5..d786687 100644 --- a/worf/src/lib/desktop.rs +++ b/worf/src/lib/desktop.rs @@ -2,12 +2,8 @@ use std::{ collections::HashMap, env, ffi::OsStr, - fs, - io, - os::unix::{ - fs::PermissionsExt, - prelude::CommandExt, - }, + fs, io, + os::unix::{fs::PermissionsExt, prelude::CommandExt}, path::{Path, PathBuf}, process::{Command, Stdio}, time::Instant, @@ -20,8 +16,8 @@ use regex::Regex; use wl_clipboard_rs::copy::{ClipboardType, MimeType, ServeRequests, Source}; use crate::{ - config::{expand_path, Config}, Error, + config::{Config, expand_path}, }; /// Returns a regex with supported image extensions diff --git a/worf/src/lib/gui.rs b/worf/src/lib/gui.rs index 8498e30..9b8155e 100644 --- a/worf/src/lib/gui.rs +++ b/worf/src/lib/gui.rs @@ -1,34 +1,37 @@ -use std::collections::{HashMap, HashSet}; -use std::rc::Rc; -use std::sync::{Arc, Mutex, RwLock}; -use std::thread; -use std::time::Instant; +use std::{ + collections::{HashMap, HashSet}, + rc::Rc, + sync::{Arc, Mutex, RwLock}, + thread, + time::Instant, +}; -use crossbeam::channel; -use crossbeam::channel::Sender; -use gdk4::Display; -use gdk4::gio::File; -use gdk4::glib::{MainContext, Propagation}; -use gdk4::prelude::{Cast, DisplayExt, MonitorExt, SurfaceExt}; -use gtk4::glib::ControlFlow; -use gtk4::prelude::{ - ApplicationExt, ApplicationExtManual, BoxExt, EditableExt, FlowBoxChildExt, GestureSingleExt, - GtkWindowExt, ListBoxRowExt, NativeExt, OrientableExt, WidgetExt, +use crossbeam::channel::{self, Sender}; +use gdk4::{ + Display, + gio::File, + glib::{self, MainContext, Propagation}, + prelude::{Cast, DisplayExt, MonitorExt, SurfaceExt}, }; use gtk4::{ - Align, EventControllerKey, Expander, FlowBox, FlowBoxChild, GestureClick, Image, Label, - ListBox, ListBoxRow, NaturalWrapMode, Ordering, PolicyType, ScrolledWindow, SearchEntry, - Widget, gdk, glib, + Align, Application, ApplicationWindow, CssProvider, EventControllerKey, Expander, FlowBox, + FlowBoxChild, GestureClick, Image, Label, ListBox, ListBoxRow, NaturalWrapMode, Ordering, + Orientation, PolicyType, ScrolledWindow, SearchEntry, Widget, + glib::ControlFlow, + prelude::{ + ApplicationExt, ApplicationExtManual, BoxExt, EditableExt, FlowBoxChildExt, + GestureSingleExt, GtkWindowExt, ListBoxRowExt, NativeExt, OrientableExt, WidgetExt, + }, }; -use gtk4::{Application, ApplicationWindow, CssProvider, Orientation}; use gtk4_layer_shell::{Edge, KeyboardMode, LayerShell}; use log; use regex::Regex; use crate::{ - Error, config, + Error, config::{ - Anchor, Config, CustomKeyHintLocation, KeyDetectionType, MatchMethod, SortOrder, WrapMode, + self, Anchor, Config, CustomKeyHintLocation, KeyDetectionType, MatchMethod, SortOrder, + WrapMode, }, desktop::known_image_extension_regex_pattern, }; @@ -229,7 +232,7 @@ pub enum Key { Tilde, // ~ } -impl From for Key { +impl From for Key { fn from(value: gdk4::Key) -> Self { match value { // Letters @@ -1396,7 +1399,7 @@ fn create_menu_row( let element_clone = element_to_add.clone(); let click = GestureClick::new(); - click.set_button(gdk::BUTTON_PRIMARY); + click.set_button(gtk4::gdk::BUTTON_PRIMARY); click.connect_pressed(move |_gesture, n_press, _x, _y| { if n_press == 2 { if let Err(e) = handle_selected_item( diff --git a/worf/src/lib/modes/auto.rs b/worf/src/lib/modes/auto.rs index de8ff8c..c546aca 100644 --- a/worf/src/lib/modes/auto.rs +++ b/worf/src/lib/modes/auto.rs @@ -1,14 +1,19 @@ -use crate::config::Config; -use crate::desktop::spawn_fork; -use crate::gui::{ItemProvider, MenuItem}; -use crate::modes::drun::{DRunProvider, update_drun_cache_and_run}; -use crate::modes::file::FileItemProvider; -use crate::modes::math::MathProvider; -use crate::modes::ssh; -use crate::modes::ssh::SshProvider; -use crate::{Error, gui}; use regex::Regex; +use crate::{ + Error, + config::Config, + desktop::spawn_fork, + gui::{self, ItemProvider, MenuItem}, + modes::{ + drun::{DRunProvider, update_drun_cache_and_run}, + file::FileItemProvider, + math::MathProvider, + ssh, + ssh::SshProvider, + }, +}; + #[derive(Debug, Clone, PartialEq)] enum AutoRunType { Math, diff --git a/worf/src/lib/modes/dmenu.rs b/worf/src/lib/modes/dmenu.rs index dda55cf..a7929df 100644 --- a/worf/src/lib/modes/dmenu.rs +++ b/worf/src/lib/modes/dmenu.rs @@ -1,8 +1,10 @@ -use crate::config::{Config, SortOrder}; -use crate::gui::{ItemProvider, MenuItem}; -use crate::{Error, gui}; -use std::io; -use std::io::Read; +use std::io::{self, Read}; + +use crate::{ + Error, + config::{Config, SortOrder}, + gui::{self, ItemProvider, MenuItem}, +}; #[derive(Clone)] struct DMenuProvider { diff --git a/worf/src/lib/modes/drun.rs b/worf/src/lib/modes/drun.rs index 29c1f45..ae4c89b 100644 --- a/worf/src/lib/modes/drun.rs +++ b/worf/src/lib/modes/drun.rs @@ -1,16 +1,23 @@ -use crate::config::{Config, SortOrder}; -use crate::desktop::{ - find_desktop_files, get_locale_variants, lookup_name_with_locale, save_cache_file, spawn_fork, +use std::{ + collections::{HashMap, HashSet}, + path::PathBuf, + time::Instant, }; -use crate::gui::{ItemProvider, MenuItem}; -use crate::modes::load_cache; -use crate::{Error, gui}; + use freedesktop_file_parser::EntryType; use rayon::prelude::*; use serde::{Deserialize, Serialize}; -use std::collections::{HashMap, HashSet}; -use std::path::PathBuf; -use std::time::Instant; + +use crate::{ + Error, + config::{Config, SortOrder}, + desktop::{ + find_desktop_files, get_locale_variants, lookup_name_with_locale, save_cache_file, + spawn_fork, + }, + gui::{self, ItemProvider, MenuItem}, + modes::load_cache, +}; #[derive(Debug, Deserialize, Serialize, Clone)] struct DRunCache { diff --git a/worf/src/lib/modes/emoji.rs b/worf/src/lib/modes/emoji.rs index 50a30f0..6d217fd 100644 --- a/worf/src/lib/modes/emoji.rs +++ b/worf/src/lib/modes/emoji.rs @@ -1,7 +1,9 @@ -use crate::config::{Config, SortOrder}; -use crate::desktop::copy_to_clipboard; -use crate::gui::{ItemProvider, MenuItem}; -use crate::{Error, gui}; +use crate::{ + Error, + config::{Config, SortOrder}, + desktop::copy_to_clipboard, + gui::{self, ItemProvider, MenuItem}, +}; #[derive(Clone)] pub(crate) struct EmojiProvider { diff --git a/worf/src/lib/modes/file.rs b/worf/src/lib/modes/file.rs index 072a5a7..2a04066 100644 --- a/worf/src/lib/modes/file.rs +++ b/worf/src/lib/modes/file.rs @@ -1,11 +1,17 @@ -use crate::config::{Config, SortOrder, expand_path}; -use crate::desktop::spawn_fork; -use crate::gui::{ItemProvider, MenuItem}; -use crate::{Error, gui}; +use std::{ + fs, + os::unix::fs::FileTypeExt, + path::{Path, PathBuf}, +}; + use regex::Regex; -use std::fs; -use std::os::unix::fs::FileTypeExt; -use std::path::{Path, PathBuf}; + +use crate::{ + Error, + config::{Config, SortOrder, expand_path}, + desktop::spawn_fork, + gui::{self, ItemProvider, MenuItem}, +}; #[derive(Clone)] pub(crate) struct FileItemProvider { diff --git a/worf/src/lib/modes/math.rs b/worf/src/lib/modes/math.rs index 52f9001..7e8e92b 100644 --- a/worf/src/lib/modes/math.rs +++ b/worf/src/lib/modes/math.rs @@ -1,8 +1,10 @@ -use crate::config::Config; -use crate::gui; -use crate::gui::{ItemProvider, MenuItem}; use regex::Regex; +use crate::{ + config::Config, + gui::{self, ItemProvider, MenuItem}, +}; + #[derive(Clone)] pub(crate) struct MathProvider { menu_item_data: T, diff --git a/worf/src/lib/modes/mod.rs b/worf/src/lib/modes/mod.rs index efc9be5..69892cf 100644 --- a/worf/src/lib/modes/mod.rs +++ b/worf/src/lib/modes/mod.rs @@ -1,6 +1,6 @@ +use std::{collections::HashMap, path::PathBuf}; + use crate::desktop::{create_file_if_not_exists, load_cache_file}; -use std::collections::HashMap; -use std::path::PathBuf; pub mod auto; pub mod dmenu; diff --git a/worf/src/lib/modes/run.rs b/worf/src/lib/modes/run.rs index 6df35a3..f496b0d 100644 --- a/worf/src/lib/modes/run.rs +++ b/worf/src/lib/modes/run.rs @@ -1,12 +1,18 @@ -use crate::config::{Config, SortOrder}; -use crate::desktop::{is_executable, save_cache_file}; -use crate::gui::{ItemProvider, MenuItem}; -use crate::modes::load_cache; -use crate::{Error, gui}; -use std::collections::{HashMap, HashSet}; -use std::ffi::CString; -use std::path::PathBuf; -use std::{env, fs}; +use std::{ + collections::{HashMap, HashSet}, + env, + ffi::CString, + fs, + path::PathBuf, +}; + +use crate::{ + Error, + config::{Config, SortOrder}, + desktop::{is_executable, save_cache_file}, + gui::{self, ItemProvider, MenuItem}, + modes::load_cache, +}; impl ItemProvider for RunProvider { fn get_elements(&mut self, _: Option<&str>) -> (bool, Vec>) { diff --git a/worf/src/lib/modes/ssh.rs b/worf/src/lib/modes/ssh.rs index eca7848..3e82557 100644 --- a/worf/src/lib/modes/ssh.rs +++ b/worf/src/lib/modes/ssh.rs @@ -1,10 +1,14 @@ -use crate::config::{Config, SortOrder}; -use crate::desktop::spawn_fork; -use crate::gui::{ItemProvider, MenuItem}; -use crate::{Error, gui}; -use regex::Regex; use std::fs; +use regex::Regex; + +use crate::{ + Error, + config::{Config, SortOrder}, + desktop::spawn_fork, + gui::{self, ItemProvider, MenuItem}, +}; + #[derive(Clone)] pub(crate) struct SshProvider { elements: Vec>, diff --git a/worf/src/main.rs b/worf/src/main.rs index 66db949..548a2b5 100644 --- a/worf/src/main.rs +++ b/worf/src/main.rs @@ -1,9 +1,8 @@ use std::env; use anyhow::anyhow; -use worf_lib::config::Mode; -use worf_lib::desktop::fork_if_configured; -use worf_lib::{Error, config, modes}; + +use worf_lib::{Error, config, config::Mode, desktop::fork_if_configured, modes}; fn main() -> anyhow::Result<()> { env_logger::Builder::new()