diff --git a/wlx-overlay-s/src/gui/panel.rs b/wlx-overlay-s/src/gui/panel.rs index 24d3f5a..a398548 100644 --- a/wlx-overlay-s/src/gui/panel.rs +++ b/wlx-overlay-s/src/gui/panel.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use glam::vec2; +use glam::{Vec2, vec2}; use vulkano::{command_buffer::CommandBufferUsage, image::view::ImageView}; use wgui::{ event::{ @@ -138,6 +138,10 @@ impl OverlayRenderer for GuiPanel { self.layout.tick()?; } + if self.layout.content_size == vec2(0., 0.) { + return Ok(ShouldRender::Unable); + } + Ok(if self.layout.check_toggle_needs_redraw() { ShouldRender::Should } else { @@ -172,8 +176,8 @@ impl OverlayRenderer for GuiPanel { fn frame_meta(&mut self) -> Option { Some(FrameMeta { extent: [ - self.max_size.max(self.layout.content_size.x as _), - self.max_size.max(self.layout.content_size.y as _), + self.max_size.min(self.layout.content_size.x as _), + self.max_size.min(self.layout.content_size.y as _), 1, ], ..Default::default() diff --git a/wlx-overlay-s/src/main.rs b/wlx-overlay-s/src/main.rs index 28fc6aa..421016f 100644 --- a/wlx-overlay-s/src/main.rs +++ b/wlx-overlay-s/src/main.rs @@ -239,6 +239,7 @@ fn logging_init(args: &mut Args) { .with_default_directive(LevelFilter::INFO.into()) .from_env_lossy() .add_directive("zbus=warn".parse().unwrap()) + .add_directive("cosmic_text=warn".parse().unwrap()) .add_directive("wlx_capture::wayland=info".parse().unwrap()) .add_directive("smithay=debug".parse().unwrap()), /* GLES render spam */ ); diff --git a/wlx-overlay-s/src/overlays/anchor.rs b/wlx-overlay-s/src/overlays/anchor.rs index 5904731..ba6374b 100644 --- a/wlx-overlay-s/src/overlays/anchor.rs +++ b/wlx-overlay-s/src/overlays/anchor.rs @@ -1,4 +1,4 @@ -use glam::Vec3A; +use glam::{Vec3A, vec2}; use std::sync::{Arc, LazyLock}; use wgui::parser::parse_color_hex; use wgui::renderer_vk::text::{FontWeight, TextStyle}; @@ -57,6 +57,8 @@ where taffy::style::Style::DEFAULT, ); + panel.layout.update(vec2(2048., 2048.), 0.0)?; + Ok(OverlayData { state: OverlayState { name: ANCHOR_NAME.clone(), diff --git a/wlx-overlay-s/src/overlays/custom.rs b/wlx-overlay-s/src/overlays/custom.rs index 5787cef..3b40f4f 100644 --- a/wlx-overlay-s/src/overlays/custom.rs +++ b/wlx-overlay-s/src/overlays/custom.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use glam::Vec3A; +use glam::{Vec3A, vec2}; use crate::{ backend::overlay::{OverlayBackend, OverlayState}, @@ -19,6 +19,7 @@ pub fn create_custom( unreachable!(); let panel = GuiPanel::new_blank(app, 2048).ok()?; + panel.layout.update(vec2(2048., 2048.), 0.0).ok()?; let state = OverlayState { name, diff --git a/wlx-overlay-s/src/overlays/watch.rs b/wlx-overlay-s/src/overlays/watch.rs index 5f00981..fa1ea67 100644 --- a/wlx-overlay-s/src/overlays/watch.rs +++ b/wlx-overlay-s/src/overlays/watch.rs @@ -1,4 +1,4 @@ -use glam::Vec3A; +use glam::{Vec3A, vec2}; use wgui::{ parser::parse_color_hex, taffy::{ @@ -52,6 +52,8 @@ where lerp: 1.0, }; + panel.layout.update(vec2(2048., 2048.), 0.0)?; + Ok(OverlayData { state: OverlayState { name: WATCH_NAME.into(),