diff --git a/src/modules/hyprland/workspaces.cpp b/src/modules/hyprland/workspaces.cpp index 5c009202..a01dd2f0 100644 --- a/src/modules/hyprland/workspaces.cpp +++ b/src/modules/hyprland/workspaces.cpp @@ -194,6 +194,7 @@ auto Workspaces::update() -> void { workspace->update(format_, workspace_icon); } + bool any_window_created = false; std::vector not_created; for (auto &window_payload : windows_to_create_) { @@ -201,6 +202,7 @@ auto Workspaces::update() -> void { for (auto &workspace : workspaces_) { if (workspace->on_window_opened(window_payload)) { created = true; + any_window_created = true; break; } } @@ -212,6 +214,10 @@ auto Workspaces::update() -> void { } } + if (any_window_created) { + dp.emit(); + } + windows_to_create_.clear(); windows_to_create_ = not_created;