1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 14:47:44 +00:00

WindowServer+LibGUI+Taskbar: Don't include frameless windows in lists

Frameless windows don't need to show up in the taskbar or the switcher.
This commit is contained in:
Andreas Kling 2020-05-02 12:15:48 +02:00
parent c9321b4f00
commit 3331098aee
9 changed files with 17 additions and 13 deletions

View file

@ -110,13 +110,14 @@ public:
class WMWindowStateChangedEvent : public WMEvent {
public:
WMWindowStateChangedEvent(int client_id, int window_id, const StringView& title, const Gfx::Rect& rect, bool is_active, WindowType window_type, bool is_minimized)
WMWindowStateChangedEvent(int client_id, int window_id, const StringView& title, const Gfx::Rect& rect, bool is_active, WindowType window_type, bool is_minimized, bool is_frameless)
: WMEvent(Event::Type::WM_WindowStateChanged, client_id, window_id)
, m_title(title)
, m_rect(rect)
, m_window_type(window_type)
, m_active(is_active)
, m_minimized(is_minimized)
, m_frameless(is_frameless)
{
}
@ -125,6 +126,7 @@ public:
bool is_active() const { return m_active; }
WindowType window_type() const { return m_window_type; }
bool is_minimized() const { return m_minimized; }
bool is_frameless() const { return m_frameless; }
private:
String m_title;
@ -132,6 +134,7 @@ private:
WindowType m_window_type;
bool m_active;
bool m_minimized;
bool m_frameless;
};
class WMWindowRectChangedEvent : public WMEvent {

View file

@ -232,7 +232,7 @@ void WindowServerConnection::handle(const Messages::WindowClient::MenuItemActiva
void WindowServerConnection::handle(const Messages::WindowClient::WM_WindowStateChanged& message)
{
if (auto* window = Window::from_window_id(message.wm_id()))
Core::EventLoop::current().post_event(*window, make<WMWindowStateChangedEvent>(message.client_id(), message.window_id(), message.title(), message.rect(), message.is_active(), static_cast<WindowType>(message.window_type()), message.is_minimized()));
Core::EventLoop::current().post_event(*window, make<WMWindowStateChangedEvent>(message.client_id(), message.window_id(), message.title(), message.rect(), message.is_active(), static_cast<WindowType>(message.window_type()), message.is_minimized(), message.is_frameless()));
}
void WindowServerConnection::handle(const Messages::WindowClient::WM_WindowRectChanged& message)