mod localize; use crate::localize::localize; use crate::pulse::DeviceInfo; use config::AudioAppletConfig; use cosmic::app::Command; use cosmic::applet::cosmic_panel_config::PanelAnchor; use cosmic::applet::menu_button; use cosmic::applet::menu_control_padding; use cosmic::applet::padded_control; use cosmic::applet::token::subscription::{ activation_token_subscription, TokenRequest, TokenUpdate, }; use cosmic::cctk::sctk::reexports::calloop; use cosmic::cosmic_config::CosmicConfigEntry; use cosmic::iced::widget; use cosmic::iced::Limits; use cosmic::iced::{ self, widget::{column, row, slider, text}, window, Alignment, Length, Subscription, }; use cosmic::iced_runtime::core::alignment::Horizontal; use cosmic::iced_style::application; use cosmic::widget::button; use cosmic::widget::horizontal_space; use cosmic::widget::Column; use cosmic::widget::Row; use cosmic::widget::{divider, icon}; use cosmic::Renderer; use cosmic::{Element, Theme}; use cosmic_time::{anim, chain, id, once_cell::sync::Lazy, Instant, Timeline}; use iced::wayland::popup::{destroy_popup, get_popup}; use iced::widget::container; use libpulse_binding::volume::VolumeLinear; use mpris2_zbus::player::PlaybackStatus; use mpris_subscription::MprisRequest; use mpris_subscription::MprisUpdate; mod config; mod mpris_subscription; mod pulse; const VERSION: &str = env!("CARGO_PKG_VERSION"); pub fn main() -> cosmic::iced::Result { tracing_subscriber::fmt::init(); let _ = tracing_log::LogTracer::init(); // Prepare i18n localize(); tracing::info!("Starting audio applet with version {VERSION}"); cosmic::applet::run::