Fix hidden buttons

This commit is contained in:
gred
2025-05-21 01:38:03 +03:00
parent 24a30b7ffd
commit 15f54cd6ef

View File

@ -772,13 +772,18 @@ void Workspaces::setCurrentMonitorId() {
void Workspaces::sortSpecialCentered() { void Workspaces::sortSpecialCentered() {
std::vector<std::unique_ptr<Workspace>> specialWorkspaces; std::vector<std::unique_ptr<Workspace>> specialWorkspaces;
std::vector<std::unique_ptr<Workspace>> hidedWorkspaces;
std::vector<std::unique_ptr<Workspace>> normalWorkspaces; std::vector<std::unique_ptr<Workspace>> normalWorkspaces;
for (auto &workspace : m_workspaces) { for (auto &workspace : m_workspaces) {
if (workspace->isSpecial()) { if (workspace->isSpecial()) {
specialWorkspaces.push_back(std::move(workspace)); specialWorkspaces.push_back(std::move(workspace));
} else { } else {
if (workspace->button().is_visible()) {
normalWorkspaces.push_back(std::move(workspace)); normalWorkspaces.push_back(std::move(workspace));
} else {
hidedWorkspaces.push_back(std::move(workspace));
}
} }
} }
m_workspaces.clear(); m_workspaces.clear();
@ -796,6 +801,10 @@ void Workspaces::sortSpecialCentered() {
m_workspaces.insert(m_workspaces.end(), m_workspaces.insert(m_workspaces.end(),
std::make_move_iterator(normalWorkspaces.begin() + center), std::make_move_iterator(normalWorkspaces.begin() + center),
std::make_move_iterator(normalWorkspaces.end())); std::make_move_iterator(normalWorkspaces.end()));
m_workspaces.insert(m_workspaces.end(),
std::make_move_iterator(hidedWorkspaces.begin()),
std::make_move_iterator(hidedWorkspaces.end()));
} }
void Workspaces::sortWorkspaces() { void Workspaces::sortWorkspaces() {