17#ifndef LOMIRI_WINDOWMANAGEMENTPOLICY_H
18#define LOMIRI_WINDOWMANAGEMENTPOLICY_H
20#include <qtmir/windowmanagementpolicy.h>
21#include "wmpolicyinterface.h"
23#include <unordered_set>
25class Q_DECL_EXPORT WindowManagementPolicy :
public qtmir::WindowManagementPolicy,
26 public WMPolicyInterface
29 WindowManagementPolicy(
const miral::WindowManagerTools &tools, std::shared_ptr<qtmir::WindowManagementPolicyPrivate> dd);
31 void advise_new_window(miral::WindowInfo
const& window_info)
override;
34 std::shared_ptr<miral::Workspace> createWorkspace()
override;
36 void releaseWorkspace(
const std::shared_ptr<miral::Workspace> &workspace)
override;
38 void setActiveWorkspace(
const std::shared_ptr<miral::Workspace> &workspace)
override;
41 std::weak_ptr<miral::Workspace> m_activeWorkspace;
43 std::unordered_set<std::shared_ptr<miral::Workspace>> m_workspaces;
44 const std::shared_ptr<miral::Workspace> m_dummyWorkspace;