diff --git a/Cargo.toml b/Cargo.toml index 04c4118b..80599864 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,66 +7,86 @@ version = "0.1.0" rust-version = "1.85" [workspace] -members = [ - "cosmic-comp-config", -] +members = ["cosmic-comp-config"] [dependencies] -anyhow = {version = "1.0.51", features = ["backtrace"]} -bitflags = "2.4" -bytemuck = "1.12" -calloop = {version = "0.14.1", features = ["executor"]} -cosmic-comp-config = {path = "cosmic-comp-config", features = ["libdisplay-info"]} -cosmic-config = {git = "https://github.com/pop-os/libcosmic/", features = ["calloop", "macro"]} -cosmic-protocols = {git = "https://github.com/pop-os/cosmic-protocols", rev = "e706814", default-features = false, features = ["server"]} +anyhow = { version = "1.0.98", features = ["backtrace"] } +bitflags = "2.9.1" +bytemuck = "1.23" +calloop = { version = "0.14.2", features = ["executor"] } +cosmic-comp-config = { path = "cosmic-comp-config", features = [ + "libdisplay-info", +] } +cosmic-config = { git = "https://github.com/pop-os/libcosmic/", features = [ + "calloop", + "macro", +] } +cosmic-protocols = { git = "https://github.com/pop-os/cosmic-protocols", rev = "e706814", default-features = false, features = [ + "server", +] } cosmic-settings-config = { git = "https://github.com/pop-os/cosmic-settings-daemon" } -cosmic-settings-daemon-config = { git = "https://github.com/pop-os/cosmic-settings-daemon", branch = "greeter", features = ["greeter"] } -cosmic-text = { git = "https://github.com/pop-os/cosmic-text.git", features = ["shape-run-cache"] } -libdisplay-info = "0.2.0" -egui = {version = "0.31.0", optional = true} -egui_plot = {version = "0.31.0", optional = true} -i18n-embed = {version = "0.15", features = ["fluent-system", "desktop-requester"]} -i18n-embed-fl = "0.9" -iced_tiny_skia = {git = "https://github.com/pop-os/libcosmic/"} -indexmap = "2.0" +cosmic-settings-daemon-config = { git = "https://github.com/pop-os/cosmic-settings-daemon", branch = "greeter", features = [ + "greeter", +] } +cosmic-text = { git = "https://github.com/pop-os/cosmic-text.git", features = [ + "shape-run-cache", +] } +libdisplay-info = "0.2.2" +egui = { version = "0.31.0", optional = true } +egui_plot = { version = "0.31.0", optional = true } +i18n-embed = { version = "0.16", features = [ + "fluent-system", + "desktop-requester", +] } +i18n-embed-fl = "0.10" +iced_tiny_skia = { git = "https://github.com/pop-os/libcosmic/" } +indexmap = "2.10" keyframe = "1.1.1" -lazy_static = "1.4.0" -libc = "0.2.149" -libcosmic = {git = "https://github.com/pop-os/libcosmic/", default-features = false} -libsystemd = {version = "0.7", optional = true} -log-panics = {version = "2", features = ["with-backtrace"]} -once_cell = "1.18.0" +libc = "0.2.174" +libcosmic = { git = "https://github.com/pop-os/libcosmic/", default-features = false } +libsystemd = { version = "0.7", optional = true } +log-panics = { version = "2", features = ["with-backtrace"] } ordered-float = "5.0" -png = "0.17.5" +png = "0.17.16" regex = "1" -ron = "0.9.0-alpha.0" -rust-embed = {version = "8.0", features = ["debug-embed"]} +ron = "0.10.1" +rust-embed = { version = "8.7", features = ["debug-embed"] } sanitize-filename = "0.6.0" -sendfd = "0.4.1" -serde = {version = "1", features = ["derive"]} +sendfd = "0.4.4" +serde = { version = "1", features = ["derive"] } serde_json = "1" thiserror = "2.0.12" -time = {version = "0.3.41", features = ["macros", "formatting", "local-offset"]} +time = { version = "0.3.41", features = [ + "macros", + "formatting", + "local-offset", +] } tiny-skia = "0.11" -tracing = { version = "0.1.37", features = ["max_level_debug", "release_max_level_info"] } -tracing-journald = "0.3.0" -tracing-subscriber = {version = "0.3.16", features = ["env-filter", "tracing-log"]} -tracy-client = { version = "0.18.0", default-features = false } -wayland-backend = "0.3.3" -wayland-scanner = "0.31.1" -xcursor = "0.3.3" -xdg = "^2.1" +tracing = { version = "0.1.41", features = [ + "max_level_debug", + "release_max_level_info", +] } +tracing-journald = "0.3.1" +tracing-subscriber = { version = "0.3.19", features = [ + "env-filter", + "tracing-log", +] } +tracy-client = { version = "0.18.2", default-features = false } +wayland-backend = "0.3.10" +wayland-scanner = "0.31.6" +xcursor = "0.3.10" +xdg = "^3.0" xdg-user = "0.2.1" xkbcommon = "0.8" -zbus = "5.7.1" +zbus = "5.9.0" profiling = { version = "1.0" } -rustix = { version = "0.38.32", features = ["process"] } -smallvec = "1.13.2" -rand = "0.9.0" +rustix = { version = "1.0.8", features = ["process"] } +smallvec = "1.15.1" +rand = "0.9.2" reis = { version = "0.5", features = ["calloop"] } # CLI arguments clap_lex = "0.7" -parking_lot = "0.12.3" +parking_lot = "0.12.4" logind-zbus = { version = "5.3.2", optional = true } [dependencies.id_tree] @@ -77,21 +97,21 @@ git = "https://github.com/Drakulix/id-tree.git" version = "0.7.0" default-features = false features = [ - "backend_drm", - "backend_gbm", - "backend_egl", - "backend_libinput", - "backend_session_libseat", - "backend_udev", - "backend_winit", - "backend_vulkan", - "backend_x11", - "desktop", - "renderer_glow", - "renderer_multi", - "renderer_pixman", - "wayland_frontend", - "xwayland", + "backend_drm", + "backend_gbm", + "backend_egl", + "backend_libinput", + "backend_session_libseat", + "backend_udev", + "backend_winit", + "backend_vulkan", + "backend_x11", + "desktop", + "renderer_glow", + "renderer_multi", + "renderer_pixman", + "wayland_frontend", + "xwayland", ] [dependencies.smithay-egui] diff --git a/src/config/mod.rs b/src/config/mod.rs index 6680cb11..1a4107b0 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -10,13 +10,13 @@ use crate::{ }; use cosmic_config::{ConfigGet, CosmicConfigEntry}; use cosmic_settings_config::window_rules::ApplicationException; -use cosmic_settings_config::{shortcuts, window_rules, Shortcuts}; +use cosmic_settings_config::{Shortcuts, shortcuts, window_rules}; use serde::{Deserialize, Serialize}; use smithay::utils::{Clock, Monotonic}; use smithay::wayland::xdg_activation::XdgActivationState; pub use smithay::{ backend::input::{self as smithay_input, KeyState}, - input::keyboard::{keysyms as KeySyms, Keysym, ModifiersState}, + input::keyboard::{Keysym, ModifiersState, keysyms as KeySyms}, output::{Mode, Output}, reexports::{ calloop::LoopHandle, @@ -25,7 +25,7 @@ pub use smithay::{ TapButtonMap, }, }, - utils::{Logical, Physical, Point, Size, Transform, SERIAL_COUNTER}, + utils::{Logical, Physical, Point, SERIAL_COUNTER, Size, Transform}, }; use std::{ cell::RefCell, @@ -33,7 +33,7 @@ use std::{ fs::OpenOptions, io::Write, path::PathBuf, - sync::{atomic::AtomicBool, Arc}, + sync::{Arc, atomic::AtomicBool}, }; use tracing::{error, warn}; @@ -45,8 +45,8 @@ pub use self::types::*; use cosmic::config::CosmicTk; pub use cosmic_comp_config::output::EdidProduct; use cosmic_comp_config::{ - input::InputConfig, workspace::WorkspaceConfig, CosmicCompConfig, KeyboardConfig, TileBehavior, - XkbConfig, XwaylandDescaling, XwaylandEavesdropping, ZoomConfig, + CosmicCompConfig, KeyboardConfig, TileBehavior, XkbConfig, XwaylandDescaling, + XwaylandEavesdropping, ZoomConfig, input::InputConfig, workspace::WorkspaceConfig, }; #[derive(Debug)] @@ -213,7 +213,7 @@ impl Config { config_changed(config, keys, state); }) .expect("Failed to add cosmic-config to the event loop"); - let xdg = xdg::BaseDirectories::new().ok(); + let xdg = xdg::BaseDirectories::new(); let cosmic_comp_config = CosmicCompConfig::get_entry(&config).unwrap_or_else(|(errs, c)| { @@ -341,7 +341,7 @@ impl Config { }); Config { - dynamic_conf: Self::load_dynamic(xdg.as_ref()), + dynamic_conf: Self::load_dynamic(&xdg), cosmic_conf: cosmic_comp_config, cosmic_helper: config, settings_context, @@ -351,18 +351,15 @@ impl Config { } } - fn load_dynamic(xdg: Option<&xdg::BaseDirectories>) -> DynamicConfig { - let output_path = - xdg.and_then(|base| base.place_state_file("cosmic-comp/outputs.ron").ok()); + fn load_dynamic(xdg: &xdg::BaseDirectories) -> DynamicConfig { + let output_path = xdg.place_state_file("cosmic-comp/outputs.ron").ok(); let outputs = Self::load_outputs(&output_path); - let numlock_path = - xdg.and_then(|base| base.place_state_file("cosmic-comp/numlock.ron").ok()); + let numlock_path = xdg.place_state_file("cosmic-comp/numlock.ron").ok(); let numlock = Self::load_numlock(&numlock_path); - let filter_path = xdg.and_then(|base| { - base.place_state_file("cosmic-comp/a11y_screen_filter.ron") - .ok() - }); + let filter_path = xdg + .place_state_file("cosmic-comp/a11y_screen_filter.ron") + .ok(); let filter = Self::load_filter_state(&filter_path); DynamicConfig { @@ -389,11 +386,15 @@ impl Config { .find(|(_, info)| &info.connector == conn) { if config_clone[j].enabled != OutputState::Enabled { - warn!("Invalid Mirroring tag, overriding with `Enabled` instead"); + warn!( + "Invalid Mirroring tag, overriding with `Enabled` instead" + ); conf.enabled = OutputState::Enabled; } } else { - warn!("Invalid Mirroring tag, overriding with `Enabled` instead"); + warn!( + "Invalid Mirroring tag, overriding with `Enabled` instead" + ); conf.enabled = OutputState::Enabled; } } @@ -797,7 +798,7 @@ fn get_config( } fn update_input(state: &mut State) { - if let BackendData::Kms(ref mut kms_state) = &mut state.backend { + if let BackendData::Kms(kms_state) = &mut state.backend { for device in kms_state.input_devices.values_mut() { state.common.config.read_device(device); }