MirAL
|
Window management functions for querying and updating MirAL's model. More...
#include <miral/window_manager_tools.h>
Public Member Functions | |
WindowManagerTools (WindowManagerToolsImplementation *tools) | |
WindowManagerTools (WindowManagerTools const &) | |
WindowManagerTools & | operator= (WindowManagerTools const &) |
~WindowManagerTools () | |
void | invoke_under_lock (std::function< void()> const &callback) |
Multi-thread support Allows threads that don't hold a lock on the model to acquire one and call the "Update Model" member functions. More... | |
Query & Update Model | |
These functions assume that the BasicWindowManager data structures can be accessed freely. I.e. they should only be used by a thread that has called the WindowManagementPolicy methods (where any necessary locks are held) or via a invoke_under_lock() callback. | |
auto | count_applications () const -> unsigned int |
count the applications More... | |
void | for_each_application (std::function< void(ApplicationInfo &info)> const &functor) |
execute functor for each application More... | |
auto | find_application (std::function< bool(ApplicationInfo const &info)> const &predicate) -> Application |
find an application meeting the predicate More... | |
auto | info_for (std::weak_ptr< mir::scene::Session > const &session) const -> ApplicationInfo & |
retrieve metadata for an application More... | |
auto | info_for (std::weak_ptr< mir::scene::Surface > const &surface) const -> WindowInfo & |
retrieve metadata for a window More... | |
auto | info_for (Window const &window) const -> WindowInfo & |
retrieve metadata for a window More... | |
auto | info_for_window_id (std::string const &id) const -> WindowInfo & |
retrieve metadata for a persistent surface id More... | |
auto | id_for_window (Window const &window) const -> std::string |
retrieve the persistent surface id for a window More... | |
void | ask_client_to_close (Window const &window) |
Send close request to the window. More... | |
auto | active_window () const -> Window |
retrieve the active window More... | |
auto | select_active_window (Window const &hint) -> Window |
select a new active window based on the hint More... | |
void | drag_active_window (mir::geometry::Displacement movement) |
move the active window More... | |
void | focus_next_application () |
make the next application active More... | |
void | focus_next_within_application () |
make the next surface active within the active application More... | |
auto | window_at (mir::geometry::Point cursor) const -> Window |
Find the topmost window at the cursor. More... | |
auto | active_display () -> mir::geometry::Rectangle const |
Find the active display area. More... | |
void | raise_tree (Window const &root) |
Raise window and all its children. More... | |
void | modify_window (WindowInfo &window_info, WindowSpecification const &modifications) |
Apply modifications to a window. More... | |
void | place_and_size_for_state (WindowSpecification &modifications, WindowInfo const &window_info) const |
Set a default size and position to reflect state change. More... | |
Window management functions for querying and updating MirAL's model.
|
explicit |
miral::WindowManagerTools::WindowManagerTools | ( | WindowManagerTools const & | ) |
miral::WindowManagerTools::~WindowManagerTools | ( | ) |
auto miral::WindowManagerTools::active_display | ( | ) | -> mir::geometry::Rectangle const |
Find the active display area.
auto miral::WindowManagerTools::active_window | ( | ) | const -> Window |
retrieve the active window
void miral::WindowManagerTools::ask_client_to_close | ( | Window const & | window | ) |
Send close request to the window.
auto miral::WindowManagerTools::count_applications | ( | ) | const -> unsigned int |
count the applications
void miral::WindowManagerTools::drag_active_window | ( | mir::geometry::Displacement | movement | ) |
move the active window
auto miral::WindowManagerTools::find_application | ( | std::function< bool(ApplicationInfo const &info)> const & | predicate | ) | -> Application |
find an application meeting the predicate
predicate | the predicate |
void miral::WindowManagerTools::focus_next_application | ( | ) |
make the next application active
void miral::WindowManagerTools::focus_next_within_application | ( | ) |
make the next surface active within the active application
void miral::WindowManagerTools::for_each_application | ( | std::function< void(ApplicationInfo &info)> const & | functor | ) |
execute functor for each application
functor | the functor |
auto miral::WindowManagerTools::id_for_window | ( | Window const & | window | ) | const -> std::string |
retrieve the persistent surface id for a window
id | the window |
auto miral::WindowManagerTools::info_for | ( | std::weak_ptr< mir::scene::Session > const & | session | ) | const -> ApplicationInfo & |
retrieve metadata for an application
session | the application session |
auto miral::WindowManagerTools::info_for | ( | std::weak_ptr< mir::scene::Surface > const & | surface | ) | const -> WindowInfo & |
retrieve metadata for a window
surface | the window surface |
auto miral::WindowManagerTools::info_for | ( | Window const & | window | ) | const -> WindowInfo & |
retrieve metadata for a window
window | the window |
auto miral::WindowManagerTools::info_for_window_id | ( | std::string const & | id | ) | const -> WindowInfo & |
retrieve metadata for a persistent surface id
id | the persistent surface id |
invalid_argument | or runtime_error if the id is badly formatted/doesn't identify a current window |
void miral::WindowManagerTools::invoke_under_lock | ( | std::function< void()> const & | callback | ) |
Multi-thread support Allows threads that don't hold a lock on the model to acquire one and call the "Update Model" member functions.
This should NOT be used by a thread that has called the WindowManagementPolicy methods (and already holds the lock).
void miral::WindowManagerTools::modify_window | ( | WindowInfo & | window_info, |
WindowSpecification const & | modifications | ||
) |
Apply modifications to a window.
WindowManagerTools& miral::WindowManagerTools::operator= | ( | WindowManagerTools const & | ) |
void miral::WindowManagerTools::place_and_size_for_state | ( | WindowSpecification & | modifications, |
WindowInfo const & | window_info | ||
) | const |
Set a default size and position to reflect state change.
void miral::WindowManagerTools::raise_tree | ( | Window const & | root | ) |
Raise window and all its children.
select a new active window based on the hint
hint | the hint |
auto miral::WindowManagerTools::window_at | ( | mir::geometry::Point | cursor | ) | const -> Window |
Find the topmost window at the cursor.
Copyright © 2016 Canonical Ltd.
Generated on Fri Sep 30 13:21:55 UTC 2016