From 0d27b2e02a95ab54d00aff33de3b610a6e5bcd6a Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Mon, 13 May 2024 12:25:39 -0400 Subject: [PATCH] refactor: set locations of auto popup hover --- .../com.system76.CosmicAppletAudio.desktop | 3 +- cosmic-applet-audio/src/lib.rs | 33 ------------------- .../com.system76.CosmicAppletBattery.desktop | 2 +- ...com.system76.CosmicAppletBluetooth.desktop | 2 +- ....system76.CosmicAppletInputSources.desktop | 2 +- .../com.system76.CosmicAppletNetwork.desktop | 2 +- ...system76.CosmicAppletNotifications.desktop | 2 +- .../com.system76.CosmicAppletPower.desktop | 2 +- ...om.system76.CosmicAppletStatusArea.desktop | 2 +- .../com.system76.CosmicAppletTiling.desktop | 2 +- .../com.system76.CosmicAppletTime.desktop | 2 +- 11 files changed, 11 insertions(+), 43 deletions(-) diff --git a/cosmic-applet-audio/data/com.system76.CosmicAppletAudio.desktop b/cosmic-applet-audio/data/com.system76.CosmicAppletAudio.desktop index 4cfb8fa7..ac7c8f40 100644 --- a/cosmic-applet-audio/data/com.system76.CosmicAppletAudio.desktop +++ b/cosmic-applet-audio/data/com.system76.CosmicAppletAudio.desktop @@ -12,4 +12,5 @@ Icon=com.system76.CosmicAppletAudio-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true -X-CosmicHoverPopup=true +# Indicates that the auto-hover click should go to the "end" of the hover popup +X-CosmicHoverPopup=End diff --git a/cosmic-applet-audio/src/lib.rs b/cosmic-applet-audio/src/lib.rs index 283caf21..20396f93 100644 --- a/cosmic-applet-audio/src/lib.rs +++ b/cosmic-applet-audio/src/lib.rs @@ -16,7 +16,6 @@ use cosmic::applet::token::subscription::{ }; use cosmic::cctk::sctk::reexports::calloop; use cosmic::cosmic_config::CosmicConfigEntry; -use cosmic::iced::event::listen_with; use cosmic::iced::widget; use cosmic::iced::Limits; use cosmic::iced::{ @@ -33,7 +32,6 @@ use cosmic::widget::Row; use cosmic::widget::{divider, icon}; use cosmic::Renderer; use cosmic::{Element, Theme}; -use cosmic_time::Duration; use cosmic_time::{anim, chain, id, once_cell::sync::Lazy, Instant, Timeline}; use iced::wayland::popup::{destroy_popup, get_popup}; use iced::widget::container; @@ -74,7 +72,6 @@ pub struct Audio { config: AudioAppletConfig, player_status: Option, token_tx: Option>, - waiting: bool, } impl Audio { @@ -154,9 +151,6 @@ pub enum Message { MprisRequest(MprisRequest), Token(TokenUpdate), OpenSettings, - Wait, - WaitDone, - CursorLeft, } impl Audio { @@ -289,7 +283,6 @@ impl cosmic::Application for Audio { icon_name: "audio-volume-high-symbolic".to_string(), input_icon_name: "audio-input-microphone-symbolic".to_string(), token_tx: None, - waiting: true, ..Default::default() }, Command::none(), @@ -496,11 +489,6 @@ impl cosmic::Application for Audio { self.player_status = None; } Message::MprisRequest(r) => { - // HACK avoid activating MPRIS from a panel popup auto-click event - // instead, open the popup - if self.waiting { - return self.update(Message::TogglePopup); - } let Some(player_status) = self.player_status.as_ref() else { tracing::error!("No player found"); return Command::none(); @@ -562,18 +550,6 @@ impl cosmic::Application for Audio { cosmic::process::spawn(cmd); } }, - Message::Wait => { - self.waiting = true; - return Command::perform(tokio::time::sleep(Duration::from_millis(20)), |_| { - cosmic::app::Message::App(Message::WaitDone) - }); - } - Message::WaitDone => { - self.waiting = false; - } - Message::CursorLeft => { - self.waiting = true; - } }; Command::none() @@ -585,15 +561,6 @@ impl cosmic::Application for Audio { self.timeline .as_subscription() .map(|(_, now)| Message::Frame(now)), - listen_with(|e, _status| match e { - cosmic::iced::Event::Mouse(cosmic::iced::mouse::Event::CursorEntered) => { - Some(Message::Wait) - } - cosmic::iced::Event::Mouse(cosmic::iced::mouse::Event::CursorLeft) => { - Some(Message::CursorLeft) - } - _ => None, - }), self.core.watch_config(Self::APP_ID).map(|u| { for err in u.errors { tracing::error!(?err, "Error watching config"); diff --git a/cosmic-applet-battery/data/com.system76.CosmicAppletBattery.desktop b/cosmic-applet-battery/data/com.system76.CosmicAppletBattery.desktop index 8244416a..c3d39a97 100644 --- a/cosmic-applet-battery/data/com.system76.CosmicAppletBattery.desktop +++ b/cosmic-applet-battery/data/com.system76.CosmicAppletBattery.desktop @@ -12,4 +12,4 @@ Icon=com.system76.CosmicAppletBattery-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true -X-CosmicHoverPopup=true +X-CosmicHoverPopup=Start diff --git a/cosmic-applet-bluetooth/data/com.system76.CosmicAppletBluetooth.desktop b/cosmic-applet-bluetooth/data/com.system76.CosmicAppletBluetooth.desktop index 9474259d..0379b2ae 100644 --- a/cosmic-applet-bluetooth/data/com.system76.CosmicAppletBluetooth.desktop +++ b/cosmic-applet-bluetooth/data/com.system76.CosmicAppletBluetooth.desktop @@ -10,4 +10,4 @@ Icon=com.system76.CosmicAppletBluetooth-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true -X-CosmicHoverPopup=true +X-CosmicHoverPopup=Auto diff --git a/cosmic-applet-input-sources/data/com.system76.CosmicAppletInputSources.desktop b/cosmic-applet-input-sources/data/com.system76.CosmicAppletInputSources.desktop index b0d6a6c5..4526ca08 100644 --- a/cosmic-applet-input-sources/data/com.system76.CosmicAppletInputSources.desktop +++ b/cosmic-applet-input-sources/data/com.system76.CosmicAppletInputSources.desktop @@ -11,4 +11,4 @@ Icon=com.system76.CosmicAppletInputSources-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true -X-CosmicHoverPopup=true +X-CosmicHoverPopup=Auto diff --git a/cosmic-applet-network/data/com.system76.CosmicAppletNetwork.desktop b/cosmic-applet-network/data/com.system76.CosmicAppletNetwork.desktop index e51748b1..c449ca6a 100644 --- a/cosmic-applet-network/data/com.system76.CosmicAppletNetwork.desktop +++ b/cosmic-applet-network/data/com.system76.CosmicAppletNetwork.desktop @@ -10,4 +10,4 @@ Icon=com.system76.CosmicAppletNetwork-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true -X-CosmicHoverPopup=true +X-CosmicHoverPopup=Auto diff --git a/cosmic-applet-notifications/data/com.system76.CosmicAppletNotifications.desktop b/cosmic-applet-notifications/data/com.system76.CosmicAppletNotifications.desktop index f2202bfa..06a661b9 100644 --- a/cosmic-applet-notifications/data/com.system76.CosmicAppletNotifications.desktop +++ b/cosmic-applet-notifications/data/com.system76.CosmicAppletNotifications.desktop @@ -10,4 +10,4 @@ Icon=com.system76.CosmicAppletNotifications-symbolic NoDisplay=true X-CosmicApplet=true X-NotificationsApplet=true -X-CosmicHoverPopup=true +X-CosmicHoverPopup=Auto diff --git a/cosmic-applet-power/data/com.system76.CosmicAppletPower.desktop b/cosmic-applet-power/data/com.system76.CosmicAppletPower.desktop index a4d0b8a9..ac7bc136 100644 --- a/cosmic-applet-power/data/com.system76.CosmicAppletPower.desktop +++ b/cosmic-applet-power/data/com.system76.CosmicAppletPower.desktop @@ -10,4 +10,4 @@ Icon=com.system76.CosmicAppletPower-symbolic StartupNotify=true NoDisplay=true X-CosmicApplet=true -X-CosmicHoverPopup=true +X-CosmicHoverPopup=Auto diff --git a/cosmic-applet-status-area/data/com.system76.CosmicAppletStatusArea.desktop b/cosmic-applet-status-area/data/com.system76.CosmicAppletStatusArea.desktop index 4ac16673..49fcba36 100644 --- a/cosmic-applet-status-area/data/com.system76.CosmicAppletStatusArea.desktop +++ b/cosmic-applet-status-area/data/com.system76.CosmicAppletStatusArea.desktop @@ -12,4 +12,4 @@ Icon=com.system76.CosmicAppletStatusArea StartupNotify=true NoDisplay=true X-CosmicApplet=true -X-CosmicHoverPopup=true +X-CosmicHoverPopup=Auto diff --git a/cosmic-applet-tiling/data/com.system76.CosmicAppletTiling.desktop b/cosmic-applet-tiling/data/com.system76.CosmicAppletTiling.desktop index b99d417d..0d546c5d 100644 --- a/cosmic-applet-tiling/data/com.system76.CosmicAppletTiling.desktop +++ b/cosmic-applet-tiling/data/com.system76.CosmicAppletTiling.desktop @@ -11,4 +11,4 @@ StartupNotify=true NoDisplay=true X-CosmicApplet=true X-HostWaylandDisplay=true -X-CosmicHoverPopup=true +X-CosmicHoverPopup=Auto diff --git a/cosmic-applet-time/data/com.system76.CosmicAppletTime.desktop b/cosmic-applet-time/data/com.system76.CosmicAppletTime.desktop index 6e5be5c5..3ff31004 100644 --- a/cosmic-applet-time/data/com.system76.CosmicAppletTime.desktop +++ b/cosmic-applet-time/data/com.system76.CosmicAppletTime.desktop @@ -10,5 +10,5 @@ Icon=com.system76.CosmicAppletTime-symbolic NoDisplay=true X-CosmicApplet=true X-HostWaylandDisplay=true -X-CosmicHoverPopup=true +X-CosmicHoverPopup=Auto