From cb0831223a630e01c3932bddd1b55d34f755faff Mon Sep 17 00:00:00 2001
From: galister <22305755+galister@users.noreply.github.com>
Date: Wed, 10 Dec 2025 21:41:51 +0900
Subject: [PATCH] proper toast sizing
---
wlx-overlay-s/src/assets/gui/toast.xml | 12 ++++++------
wlx-overlay-s/src/overlays/toast.rs | 11 ++++++++---
wlx-overlay-s/src/state.rs | 2 +-
wlx-overlay-s/src/windowing/manager.rs | 6 +++++-
4 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/wlx-overlay-s/src/assets/gui/toast.xml b/wlx-overlay-s/src/assets/gui/toast.xml
index cb55233..f1fc23a 100644
--- a/wlx-overlay-s/src/assets/gui/toast.xml
+++ b/wlx-overlay-s/src/assets/gui/toast.xml
@@ -2,13 +2,13 @@
-
-
-
-
+
+
+
+
-
diff --git a/wlx-overlay-s/src/overlays/toast.rs b/wlx-overlay-s/src/overlays/toast.rs
index 695e1aa..59d0619 100644
--- a/wlx-overlay-s/src/overlays/toast.rs
+++ b/wlx-overlay-s/src/overlays/toast.rs
@@ -102,7 +102,6 @@ impl Toast {
}
}
-#[allow(clippy::too_many_lines)]
fn new_toast(toast: Toast, app: &mut AppState) -> Option {
let current_method = app
.session
@@ -112,7 +111,10 @@ fn new_toast(toast: Toast, app: &mut AppState) -> Option {
.unwrap_or(ToastDisplayMethod::Hide);
let (spawn_point, spawn_rotation, positioning) = match current_method {
- ToastDisplayMethod::Hide => return None,
+ ToastDisplayMethod::Hide => {
+ log::debug!("Not showing toast: filtered out");
+ return None;
+ }
ToastDisplayMethod::Center => (
vec3(0., -0.2, -0.5),
Quat::IDENTITY,
@@ -168,7 +170,7 @@ fn new_toast(toast: Toast, app: &mut AppState) -> Option {
Ok(())
});
- let panel = GuiPanel::new_from_template(
+ let mut panel = GuiPanel::new_from_template(
app,
"gui/toast.xml",
(),
@@ -177,8 +179,11 @@ fn new_toast(toast: Toast, app: &mut AppState) -> Option {
..Default::default()
},
)
+ .inspect_err(|e| log::error!("Could not create toast: {e:?}"))
.ok()?;
+ panel.update_layout().context("layout update failed").ok()?;
+
Some(OverlayWindowConfig {
name: TOAST_NAME.clone(),
default_state: OverlayWindowState {
diff --git a/wlx-overlay-s/src/state.rs b/wlx-overlay-s/src/state.rs
index cab9e55..846527f 100644
--- a/wlx-overlay-s/src/state.rs
+++ b/wlx-overlay-s/src/state.rs
@@ -1,6 +1,6 @@
use glam::Affine3A;
use idmap::IdMap;
-use smallvec::{SmallVec, smallvec};
+use smallvec::{smallvec, SmallVec};
use std::sync::Arc;
use wgui::{
font_config::WguiFontConfig, gfx::WGfx, globals::WguiGlobals,
diff --git a/wlx-overlay-s/src/windowing/manager.rs b/wlx-overlay-s/src/windowing/manager.rs
index 0231e38..0c6244c 100644
--- a/wlx-overlay-s/src/windowing/manager.rs
+++ b/wlx-overlay-s/src/windowing/manager.rs
@@ -189,10 +189,12 @@ where
}
OverlayTask::Create(sel, f) => {
let None = self.mut_by_selector(&sel) else {
+ log::debug!("Could not create {sel:?}: exists");
return Ok(());
};
let Some(overlay_config) = f(app) else {
+ log::debug!("Could not create {sel:?}: empty config");
return Ok(());
};
@@ -209,6 +211,7 @@ where
&& o.birthframe < FRAME_COUNTER.load(Ordering::Relaxed)
{
if let Some(o) = self.remove_by_selector(&sel, app) {
+ log::debug!("Dropping overlay {}", o.config.name);
self.dropped_overlays.push_back(o);
}
}
@@ -346,7 +349,7 @@ impl OverlayWindowManager {
}
}
- pub fn remove_by_selector(
+ fn remove_by_selector(
&mut self,
selector: &OverlaySelector,
app: &mut AppState,
@@ -411,6 +414,7 @@ impl OverlayWindowManager {
}
if overlay.config.show_on_spawn {
+ log::debug!("activating {} due to show_on_spawn", overlay.config.name);
overlay.config.activate(app);
}
let ret_val = self.overlays.insert(overlay);