17 #ifndef LOMIRI_WINDOWMANAGEMENTPOLICY_H
18 #define LOMIRI_WINDOWMANAGEMENTPOLICY_H
20 #include <qtmir/windowmanagementpolicy.h>
21 #include "wmpolicyinterface.h"
23 #include <unordered_set>
25 class 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;
47 #endif // LOMIRI_WINDOWMANAGEMENTPOLICY_H