fix: fill persistent workspaces' windows at init

This commit is contained in:
Brenno Lemos 2023-10-19 21:19:08 -03:00
parent 846842be80
commit e14a3b8687
2 changed files with 6 additions and 6 deletions

View File

@ -162,7 +162,7 @@ class Workspaces : public AModule, public EventHandler {
{"DEFAULT", SORT_METHOD::DEFAULT}};
void fill_persistent_workspaces();
void create_persistent_workspaces();
void create_persistent_workspaces(const Json::Value& clients_data);
std::vector<std::string> persistent_workspaces_to_create_;
bool persistent_created_ = false;

View File

@ -562,7 +562,7 @@ void Workspaces::fill_persistent_workspaces() {
}
}
void Workspaces::create_persistent_workspaces() {
void Workspaces::create_persistent_workspaces(const Json::Value &clients_data) {
for (const std::string &workspace_name : persistent_workspaces_to_create_) {
Json::Value new_workspace;
try {
@ -577,7 +577,7 @@ void Workspaces::create_persistent_workspaces() {
new_workspace["windows"] = 0;
new_workspace["persistent"] = true;
create_workspace(new_workspace);
create_workspace(new_workspace, clients_data);
}
}
@ -596,12 +596,12 @@ void Workspaces::init() {
monitor_id_ = (*current_monitor)["id"].asInt();
}
fill_persistent_workspaces();
create_persistent_workspaces();
const Json::Value workspaces_json = gIPC->getSocket1JsonReply("workspaces");
const Json::Value clients_json = gIPC->getSocket1JsonReply("clients");
fill_persistent_workspaces();
create_persistent_workspaces(clients_json);
for (Json::Value workspace_json : workspaces_json) {
std::string workspace_name = workspace_json["name"].asString();
if ((all_outputs() || bar_.output->name == workspace_json["monitor"].asString()) &&