From c003a58fff660f5c55ebfb54a5908722fa7d1d6e Mon Sep 17 00:00:00 2001 From: Hojjat Abdollahi Date: Fri, 28 Aug 2026 18:29:36 -0600 Subject: [PATCH 1/6] feat(iced): hide-cursor and multi-popup features --- iced | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iced b/iced index 87c03589..39d3c99d 160000 --- a/iced +++ b/iced @@ -1 +1 @@ -Subproject commit 87c0358985cae50fefdcb15eabb0271e19ecf4a2 +Subproject commit 39d3c99d1315e9a3db76fa8b32aa91e439c38b32 From c3ced76094376bcbe331da0d4518fcc6b27006bb Mon Sep 17 00:00:00 2001 From: Michael Aaron Murphy Date: Mon, 31 Aug 2026 23:58:52 +0200 Subject: [PATCH 2/6] feat: update cosmic-icons --- cosmic-icons | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cosmic-icons b/cosmic-icons index 52520957..343c007f 160000 --- a/cosmic-icons +++ b/cosmic-icons @@ -1 +1 @@ -Subproject commit 5252095787cc96e2aed64604158f94e450703455 +Subproject commit 343c007f37cd71716e68f01c43ecf2764b7f7c47 From 9cc82abd9ca5601bb0341edd12a9acbc97e77801 Mon Sep 17 00:00:00 2001 From: Hojjat Date: Fri, 7 Aug 2026 18:05:25 -0600 Subject: [PATCH 3/6] fix: don't pass keyboard events to content if popover modal is open --- src/widget/popover.rs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/widget/popover.rs b/src/widget/popover.rs index 4368925e..253cc25a 100644 --- a/src/widget/popover.rs +++ b/src/widget/popover.rs @@ -157,9 +157,17 @@ where ) { if self.popup.is_some() { if self.modal { - if matches!(event, Event::Mouse(_) | Event::Touch(_)) { - shell.capture_event(); - return; + match event { + Event::Mouse(_) | Event::Touch(_) => { + shell.capture_event(); + return; + } + // app-level keyboard navigation (Tab focus cycling, Escape) + // still receives keyboard events + Event::Keyboard(_) => { + return; + } + _ => {} } } else if let Some(on_close) = self.on_close.as_ref() { if matches!( From 6347ba2390edd72512c3030d06e2f23d185afc12 Mon Sep 17 00:00:00 2001 From: Hojjat Date: Wed, 2 Sep 2026 15:42:42 -0600 Subject: [PATCH 4/6] fix: keep content's overlays visible while showing toaster --- src/widget/toaster/widget.rs | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/widget/toaster/widget.rs b/src/widget/toaster/widget.rs index 922c1433..63c1c6a2 100644 --- a/src/widget/toaster/widget.rs +++ b/src/widget/toaster/widget.rs @@ -142,23 +142,26 @@ where viewport: &Rectangle, translation: Vector, ) -> Option> { - //TODO: this hides the overlay of the content during the toast + let (content_state, toasts_state) = state.children.split_at_mut(1); + let content = self.content.as_widget_mut().overlay( + &mut content_state[0], + layout, + renderer, + viewport, + translation, + ); if self.is_empty { - self.content.as_widget_mut().overlay( - &mut state.children[0], - layout, - renderer, - viewport, - translation, - ) - } else { - let bounds = layout.bounds(); - - Some(overlay::Element::new(Box::new(ToasterOverlay::new( - &mut state.children[1], - &mut self.toasts, - )))) + return content; } + // keep the content's overlays (e.g. popovers, menus) visible while a toast is shown + let toaster = overlay::Element::new(Box::new(ToasterOverlay::new( + &mut toasts_state[0], + &mut self.toasts, + ))); + Some(match content { + Some(content) => overlay::Group::with_children(vec![content, toaster]).overlay(), + None => toaster, + }) } fn drag_destinations( From b728852754db54201002b84d9279a207f00de8f2 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Thu, 3 Sep 2026 12:58:54 -0400 Subject: [PATCH 5/6] chore: update iced popup creation/cleanup fixes --- iced | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iced b/iced index 39d3c99d..cc5ca1ce 160000 --- a/iced +++ b/iced @@ -1 +1 @@ -Subproject commit 39d3c99d1315e9a3db76fa8b32aa91e439c38b32 +Subproject commit cc5ca1ce29f2391376242010de6fd9326213e901 From d4d71fd53e5ed6bd3a430089114dffa2da3cd498 Mon Sep 17 00:00:00 2001 From: Hojjat Date: Fri, 4 Sep 2026 12:07:16 -0600 Subject: [PATCH 6/6] improv: better downsampler for small target images --- iced | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iced b/iced index cc5ca1ce..51118067 160000 --- a/iced +++ b/iced @@ -1 +1 @@ -Subproject commit cc5ca1ce29f2391376242010de6fd9326213e901 +Subproject commit 511180679b3792387f9b5eabd6d11f4c1bc4ade6