Fix eww not working on wayland if X feature is enabled

This commit is contained in:
elkowar 2023-07-29 20:05:45 +02:00
parent 4a9455b63f
commit 27830a8c6d
No known key found for this signature in database
GPG Key ID: 50E76B4711E4C3E4
2 changed files with 8 additions and 1 deletions

View File

@ -466,7 +466,7 @@ fn initialize_window<B: DisplayBackend>(
window.realize();
#[cfg(feature = "x11")]
{
if B::IS_X11 {
if let Some(geometry) = window_def.geometry {
let _ = apply_window_position(geometry, monitor_geometry, &window);
if window_def.backend_options.x11.window_type != yuck::config::backend_window_options::X11WindowType::Normal {

View File

@ -7,12 +7,15 @@ pub use platform_wayland::WaylandBackend;
pub use platform_x11::{set_xprops, X11Backend};
pub trait DisplayBackend: Send + Sync + 'static {
const IS_X11: bool;
fn initialize_window(window_def: &WindowDefinition, monitor: gdk::Rectangle) -> Option<gtk::Window>;
}
pub struct NoBackend;
impl DisplayBackend for NoBackend {
const IS_X11: bool = false;
fn initialize_window(_window_def: &WindowDefinition, _monitor: gdk::Rectangle) -> Option<gtk::Window> {
Some(gtk::Window::new(gtk::WindowType::Toplevel))
}
@ -31,6 +34,8 @@ mod platform_wayland {
pub struct WaylandBackend;
impl DisplayBackend for WaylandBackend {
const IS_X11: bool = false;
fn initialize_window(window_def: &WindowDefinition, monitor: gdk::Rectangle) -> Option<gtk::Window> {
let window = gtk::Window::new(gtk::WindowType::Toplevel);
// Initialising a layer shell surface
@ -127,6 +132,8 @@ mod platform_x11 {
pub struct X11Backend;
impl DisplayBackend for X11Backend {
const IS_X11: bool = true;
fn initialize_window(window_def: &WindowDefinition, _monitor: gdk::Rectangle) -> Option<gtk::Window> {
let window_type =
if window_def.backend_options.x11.wm_ignore { gtk::WindowType::Popup } else { gtk::WindowType::Toplevel };