diff --git a/deleted.cpp b/deleted.cpp index 26bdde767a..4ec8139fd2 100644 --- a/deleted.cpp +++ b/deleted.cpp @@ -80,6 +80,7 @@ void Deleted::copyToDeleted(Toplevel* c) m_layer = c->layer(); m_frame = c->frameId(); m_opacity = c->opacity(); + m_type = c->windowType(true); if (WinInfo* cinfo = dynamic_cast< WinInfo* >(info)) cinfo->disable(); Client* client = dynamic_cast(c); @@ -169,11 +170,8 @@ bool Deleted::isDeleted() const NET::WindowType Deleted::windowType(bool direct, int supportedTypes) const { Q_UNUSED(direct) - // TODO: maybe retrieve the actual window type when copying to deleted? - if (supportedTypes == 0) { - supportedTypes = SUPPORTED_UNMANAGED_WINDOW_TYPES_MASK; - } - return info->windowType(NET::WindowTypes(supportedTypes)); + Q_UNUSED(supportedTypes) + return m_type; } void Deleted::mainClientClosed(Toplevel *client) diff --git a/deleted.h b/deleted.h index 776d52b00f..8db025862b 100644 --- a/deleted.h +++ b/deleted.h @@ -105,6 +105,7 @@ private: bool m_wasClient; Decoration::Renderer *m_decorationRenderer; double m_opacity; + NET::WindowType m_type = NET::Unknown; }; inline void Deleted::refWindow()