From 658a88da8c767527f27a006ba9422640ed6fda44 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Mon, 18 Mar 2024 20:22:07 -0700 Subject: [PATCH] Fix building with `debug` feature --- src/debug.rs | 48 +++++++++++++++++----------------------- src/shell/element/mod.rs | 13 ++++++----- 2 files changed, 27 insertions(+), 34 deletions(-) diff --git a/src/debug.rs b/src/debug.rs index c4b3f94b..ef8918aa 100644 --- a/src/debug.rs +++ b/src/debug.rs @@ -3,10 +3,7 @@ use std::collections::HashMap; use crate::{ - shell::{ - focus::target::{KeyboardFocusTarget, PointerFocusTarget}, - CosmicSurface, - }, + shell::focus::target::{KeyboardFocusTarget, PointerFocusTarget}, state::{Common, Fps}, }; use egui::{load::SizedTexture, Color32, Vec2}; @@ -19,6 +16,7 @@ use smithay::{ glow::GlowRenderer, }, }, + desktop::WindowSurface, input::keyboard::xkb, reexports::wayland_server::Resource, utils::{Logical, Rectangle}, @@ -307,19 +305,17 @@ fn format_pointer_focus(focus: Option) -> String { Some(Element(x)) => match x { x if x.is_stack() => format!( "Stacked Window {} ({})", - match x.active_window() { - CosmicSurface::Wayland(w) => w.toplevel().wl_surface().id().protocol_id(), - CosmicSurface::X11(x) => x.window_id(), - _ => unreachable!(), + match x.active_window().0.underlying_surface() { + WindowSurface::Wayland(t) => t.wl_surface().id().protocol_id(), + WindowSurface::X11(x) => x.window_id(), }, x.active_window().title() ), x if x.is_window() => format!( "Window {} ({})", - match x.active_window() { - CosmicSurface::Wayland(w) => w.toplevel().wl_surface().id().protocol_id(), - CosmicSurface::X11(x) => x.window_id(), - _ => unreachable!(), + match x.active_window().0.underlying_surface() { + WindowSurface::Wayland(t) => t.wl_surface().id().protocol_id(), + WindowSurface::X11(x) => x.window_id(), }, x.active_window().title() ), @@ -327,10 +323,9 @@ fn format_pointer_focus(focus: Option) -> String { }, Some(Fullscreen(x)) => format!( "Fullscreen {} ({})", - match &x { - CosmicSurface::Wayland(w) => w.toplevel().wl_surface().id().protocol_id(), - CosmicSurface::X11(x) => x.window_id(), - _ => unreachable!(), + match x.0.underlying_surface() { + WindowSurface::Wayland(t) => t.wl_surface().id().protocol_id(), + WindowSurface::X11(x) => x.window_id(), }, x.title() ), @@ -350,19 +345,17 @@ fn format_keyboard_focus(focus: Option) -> String { Some(Element(x)) => match x { x if x.is_stack() => format!( "Stacked Window {} ({})", - match x.active_window() { - CosmicSurface::Wayland(w) => w.toplevel().wl_surface().id().protocol_id(), - CosmicSurface::X11(x) => x.window_id(), - _ => unreachable!(), + match x.active_window().0.underlying_surface() { + WindowSurface::Wayland(t) => t.wl_surface().id().protocol_id(), + WindowSurface::X11(x) => x.window_id(), }, x.active_window().title() ), x if x.is_window() => format!( "Window {} ({})", - match x.active_window() { - CosmicSurface::Wayland(w) => w.toplevel().wl_surface().id().protocol_id(), - CosmicSurface::X11(x) => x.window_id(), - _ => unreachable!(), + match x.active_window().0.underlying_surface() { + WindowSurface::Wayland(t) => t.wl_surface().id().protocol_id(), + WindowSurface::X11(x) => x.window_id(), }, x.active_window().title() ), @@ -370,10 +363,9 @@ fn format_keyboard_focus(focus: Option) -> String { }, Some(Fullscreen(x)) => format!( "Fullscreen {} ({})", - match &x { - CosmicSurface::Wayland(w) => w.toplevel().wl_surface().id().protocol_id(), - CosmicSurface::X11(x) => x.window_id(), - _ => unreachable!(), + match x.0.underlying_surface() { + WindowSurface::Wayland(t) => t.wl_surface().id().protocol_id(), + WindowSurface::X11(x) => x.window_id(), }, x.title() ), diff --git a/src/shell/element/mod.rs b/src/shell/element/mod.rs index 8b990f00..43de9274 100644 --- a/src/shell/element/mod.rs +++ b/src/shell/element/mod.rs @@ -22,7 +22,7 @@ use smithay::{ ImportAll, ImportMem, Renderer, }, }, - desktop::{space::SpaceElement, PopupManager, WindowSurfaceType}, + desktop::{space::SpaceElement, PopupManager, WindowSurface, WindowSurfaceType}, input::{ keyboard::{KeyboardTarget, KeysymHandle, ModifiersState}, pointer::{ @@ -641,12 +641,13 @@ impl CosmicMapped { ui.label("App ID: "); ui.label(window.app_id()); }); - ui.label(match window { - CosmicSurface::Wayland(_) => "Protocol: Wayland", - CosmicSurface::X11(_) => "Protocol: X11", - _ => unreachable!(), + ui.label(match window.0.underlying_surface() { + WindowSurface::Wayland(_) => "Protocol: Wayland", + WindowSurface::X11(_) => "Protocol: X11", }); - if let CosmicSurface::X11(ref surf) = window { + if let WindowSurface::X11(ref surf) = + window.0.underlying_surface() + { let geo = surf.geometry(); ui.label(format!( "X11 Geo: {}x{}x{}x{}",