Skip to content

Commit

Permalink
feat: avoid recreating workspaces
Browse files Browse the repository at this point in the history
  • Loading branch information
Syndelis committed Oct 18, 2023
1 parent d4a3cd2 commit 97f150f
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions src/modules/hyprland/workspaces.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -458,17 +458,16 @@ std::optional<std::string> Workspace::on_window_closed(WindowAddress &addr) {
}

void Workspaces::create_workspace(Json::Value &workspace_data, const Json::Value &clients_data) {
// replace the existing persistent workspace if it exists
// avoid recreating existing workspaces
auto workspace = std::find_if(
workspaces_.begin(), workspaces_.end(), [&](std::unique_ptr<Workspace> const &x) {
auto name = workspace_data["name"].asString();
return x->is_persistent() &&
((name.starts_with("special:") && name.substr(8) == x->name()) || name == x->name());
});

if (workspace != workspaces_.end()) {
// replace workspace, but keep persistent flag
workspaces_.erase(workspace);
workspace_data["persistent"] = true;
return;
}

// create new workspace
Expand Down

0 comments on commit 97f150f

Please sign in to comment.