diff --git a/src/clients/mod.rs b/src/clients/mod.rs new file mode 100644 index 0000000..ea192bd --- /dev/null +++ b/src/clients/mod.rs @@ -0,0 +1,4 @@ +pub mod mpd; +pub mod sway; +pub mod system_tray; +pub mod wayland; diff --git a/src/modules/mpd/client.rs b/src/clients/mpd.rs similarity index 100% rename from src/modules/mpd/client.rs rename to src/clients/mpd.rs diff --git a/src/sway.rs b/src/clients/sway.rs similarity index 100% rename from src/sway.rs rename to src/clients/sway.rs diff --git a/src/modules/tray/client.rs b/src/clients/system_tray.rs similarity index 100% rename from src/modules/tray/client.rs rename to src/clients/system_tray.rs diff --git a/src/wayland/client.rs b/src/clients/wayland/client.rs similarity index 96% rename from src/wayland/client.rs rename to src/clients/wayland/client.rs index 27bdb2c..149e3e8 100644 --- a/src/wayland/client.rs +++ b/src/clients/wayland/client.rs @@ -1,7 +1,7 @@ +use super::toplevel::{ToplevelEvent, ToplevelInfo}; +use super::toplevel_manager::listen_for_toplevels; +use super::ToplevelChange; use super::{Env, ToplevelHandler}; -use crate::wayland::toplevel::{ToplevelEvent, ToplevelInfo}; -use crate::wayland::toplevel_manager::listen_for_toplevels; -use crate::wayland::ToplevelChange; use color_eyre::Report; use indexmap::IndexMap; use smithay_client_toolkit::environment::Environment; diff --git a/src/wayland/mod.rs b/src/clients/wayland/mod.rs similarity index 86% rename from src/wayland/mod.rs rename to src/clients/wayland/mod.rs index fdd0357..54f4fc5 100644 --- a/src/wayland/mod.rs +++ b/src/clients/wayland/mod.rs @@ -4,11 +4,10 @@ mod toplevel_manager; extern crate smithay_client_toolkit as sctk; -use self::toplevel_manager::ToplevelHandler; -pub use crate::wayland::toplevel::{ToplevelChange, ToplevelEvent, ToplevelInfo}; -use crate::wayland::toplevel_manager::{ToplevelHandling, ToplevelStatusListener}; use async_once::AsyncOnce; use lazy_static::lazy_static; +pub use toplevel::{ToplevelChange, ToplevelEvent, ToplevelInfo}; +use toplevel_manager::{ToplevelHandler, ToplevelHandling, ToplevelStatusListener}; use wayland_client::{Attached, DispatchData, Interface}; use wayland_protocols::wlr::unstable::foreign_toplevel::v1::client::{ zwlr_foreign_toplevel_handle_v1::ZwlrForeignToplevelHandleV1, diff --git a/src/wayland/toplevel.rs b/src/clients/wayland/toplevel.rs similarity index 100% rename from src/wayland/toplevel.rs rename to src/clients/wayland/toplevel.rs diff --git a/src/wayland/toplevel_manager.rs b/src/clients/wayland/toplevel_manager.rs similarity index 98% rename from src/wayland/toplevel_manager.rs rename to src/clients/wayland/toplevel_manager.rs index 97d3a39..8471b57 100644 --- a/src/wayland/toplevel_manager.rs +++ b/src/clients/wayland/toplevel_manager.rs @@ -1,5 +1,5 @@ -use crate::wayland::toplevel::{Toplevel, ToplevelEvent}; -use crate::wayland::LazyGlobal; +use super::toplevel::{Toplevel, ToplevelEvent}; +use super::LazyGlobal; use smithay_client_toolkit::environment::{Environment, GlobalHandler}; use std::cell::RefCell; use std::rc; diff --git a/src/main.rs b/src/main.rs index 322070f..9aeb9bd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,6 @@ mod bar; mod bridge_channel; +mod clients; mod config; mod icon; mod logging; @@ -7,8 +8,6 @@ mod modules; mod popup; mod script; mod style; -mod sway; -mod wayland; use crate::bar::create_bar; use crate::config::{Config, MonitorConfig}; @@ -27,8 +26,8 @@ use tokio::runtime::Handle; use tokio::task::block_in_place; use crate::logging::install_tracing; +use clients::wayland::{self, WaylandClient}; use tracing::{debug, error, info}; -use wayland::WaylandClient; const VERSION: &str = env!("CARGO_PKG_VERSION"); diff --git a/src/modules/focused.rs b/src/modules/focused.rs index 3ce66bf..ad9f46a 100644 --- a/src/modules/focused.rs +++ b/src/modules/focused.rs @@ -1,6 +1,6 @@ +use crate::clients::wayland::{self, ToplevelChange}; use crate::modules::{Module, ModuleInfo, ModuleUpdateEvent, ModuleWidget, WidgetContext}; -use crate::wayland::ToplevelChange; -use crate::{await_sync, icon, wayland}; +use crate::{await_sync, icon}; use color_eyre::Result; use glib::Continue; use gtk::prelude::*; diff --git a/src/modules/launcher/item.rs b/src/modules/launcher/item.rs index 731f341..f75ff63 100644 --- a/src/modules/launcher/item.rs +++ b/src/modules/launcher/item.rs @@ -1,9 +1,9 @@ use super::open_state::OpenState; +use crate::clients::wayland::ToplevelInfo; use crate::icon::get_icon; use crate::modules::launcher::{ItemEvent, LauncherUpdate}; use crate::modules::ModuleUpdateEvent; use crate::popup::Popup; -use crate::wayland::ToplevelInfo; use gtk::prelude::*; use gtk::{Button, IconTheme, Image, Orientation}; use indexmap::IndexMap; diff --git a/src/modules/launcher/mod.rs b/src/modules/launcher/mod.rs index 0ee238a..c5f24f5 100644 --- a/src/modules/launcher/mod.rs +++ b/src/modules/launcher/mod.rs @@ -3,10 +3,9 @@ mod open_state; use self::item::{Item, ItemButton, Window}; use self::open_state::OpenState; +use crate::clients::wayland::{self, ToplevelChange}; use crate::icon::find_desktop_file; use crate::modules::{Module, ModuleInfo, ModuleUpdateEvent, ModuleWidget, WidgetContext}; -use crate::wayland; -use crate::wayland::ToplevelChange; use color_eyre::{Help, Report}; use glib::Continue; use gtk::prelude::*; diff --git a/src/modules/launcher/open_state.rs b/src/modules/launcher/open_state.rs index e355059..148eef2 100644 --- a/src/modules/launcher/open_state.rs +++ b/src/modules/launcher/open_state.rs @@ -1,4 +1,4 @@ -use crate::wayland::ToplevelInfo; +use crate::clients::wayland::ToplevelInfo; /// Open state for a launcher item, or item window. #[derive(Debug, Clone, Eq, PartialEq, Copy)] diff --git a/src/modules/mpd/mod.rs b/src/modules/mpd.rs similarity index 99% rename from src/modules/mpd/mod.rs rename to src/modules/mpd.rs index f873012..012533d 100644 --- a/src/modules/mpd/mod.rs +++ b/src/modules/mpd.rs @@ -1,7 +1,4 @@ -mod client; - -use crate::modules::mpd::client::MpdConnectionError; -use crate::modules::mpd::client::{get_client, get_duration, get_elapsed}; +use crate::clients::mpd::{get_client, get_duration, get_elapsed, MpdConnectionError}; use crate::modules::{Module, ModuleInfo, ModuleUpdateEvent, ModuleWidget, WidgetContext}; use crate::popup::Popup; use color_eyre::Result; diff --git a/src/modules/tray/mod.rs b/src/modules/tray.rs similarity index 98% rename from src/modules/tray/mod.rs rename to src/modules/tray.rs index fbdfab3..b2300b6 100644 --- a/src/modules/tray/mod.rs +++ b/src/modules/tray.rs @@ -1,7 +1,5 @@ -mod client; - use crate::await_sync; -use crate::modules::tray::client::get_tray_event_client; +use crate::clients::system_tray::get_tray_event_client; use crate::modules::{Module, ModuleInfo, ModuleUpdateEvent, ModuleWidget, WidgetContext}; use color_eyre::Result; use gtk::prelude::*; diff --git a/src/modules/workspaces.rs b/src/modules/workspaces.rs index 2f20eb5..2c77ecd 100644 --- a/src/modules/workspaces.rs +++ b/src/modules/workspaces.rs @@ -1,6 +1,6 @@ use crate::await_sync; +use crate::clients::sway::{get_client, get_sub_client}; use crate::modules::{Module, ModuleInfo, ModuleUpdateEvent, ModuleWidget, WidgetContext}; -use crate::sway::{get_client, get_sub_client}; use color_eyre::{Report, Result}; use gtk::prelude::*; use gtk::Button;