notification daemon
git clone https://git.lucas.co/cce-notifier.git
Fix delayed mapping by requesting redraw on window creation and resize
src/main.rs | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/main.rs b/src/main.rs
index f187b30..3ef7ba9 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -421,10 +421,13 @@ impl ApplicationHandler<UserEvent> for AppWrapper {
if self.state.is_none() {
println!("[clear-notifier] Opening notification window: {} - {}", summary, body);
+ let size = winit::dpi::LogicalSize::new(360, 100);
let mut attributes = WindowAttributes::default()
.with_title("Notification")
.with_decorations(false)
- .with_inner_size(winit::dpi::LogicalSize::new(360, 100));
+ .with_inner_size(size)
+ .with_min_inner_size(size)
+ .with_max_inner_size(size);
#[cfg(target_os = "linux")]
{
attributes = attributes.with_name("clear-notifier", "clear-notifier");
@@ -435,6 +438,7 @@ impl ApplicationHandler<UserEvent> for AppWrapper {
state.summary = summary;
state.body = body;
state.needs_rebuild = true;
+ state.window.request_redraw();
self.state = Some(state);
} else if let Some(ref mut state) = self.state {
println!("[clear-notifier] Updating active notification window: {} - {}", summary, body);
@@ -470,6 +474,7 @@ impl ApplicationHandler<UserEvent> for AppWrapper {
}
WindowEvent::Resized(s) => {
state.resize(s);
+ state.window.request_redraw();
}
WindowEvent::RedrawRequested => {
state.render();