Mir
|
The interface through which the window management policy is determined. More...
#include <window_management_policy.h>
Public Member Functions | |
virtual void | advise_begin () |
before any related calls begin More... | |
virtual void | advise_end () |
after any related calls end More... | |
virtual auto | place_new_window (ApplicationInfo const &app_info, WindowSpecification const &requested_specification) -> WindowSpecification=0 |
Customize initial window placement. More... | |
virtual auto | confirm_inherited_move (WindowInfo const &window_info, Displacement movement) -> Rectangle=0 |
Confirm (and optionally adjust) the motion of a child window when the parent is moved. More... | |
virtual | ~WindowManagementPolicy ()=default |
WindowManagementPolicy ()=default | |
WindowManagementPolicy (WindowManagementPolicy const &)=delete | |
WindowManagementPolicy & | operator= (WindowManagementPolicy const &)=delete |
handle events originating from the client | |
The policy is expected to update the model as appropriate | |
virtual void | handle_window_ready (WindowInfo &window_info)=0 |
notification that the first buffer has been posted More... | |
virtual void | handle_modify_window (WindowInfo &window_info, WindowSpecification const &modifications)=0 |
request from client to modify the window specification. More... | |
virtual void | handle_raise_window (WindowInfo &window_info)=0 |
request from client to raise the window More... | |
virtual auto | confirm_placement_on_display (WindowInfo const &window_info, MirWindowState new_state, Rectangle const &new_placement) -> Rectangle=0 |
Confirm (and optionally adjust) the placement of a window on the display. More... | |
handle events originating from user | |
The policy is expected to interpret (and optionally consume) the event | |
virtual bool | handle_keyboard_event (MirKeyboardEvent const *event)=0 |
keyboard event handler More... | |
virtual bool | handle_touch_event (MirTouchEvent const *event)=0 |
touch event handler More... | |
virtual bool | handle_pointer_event (MirPointerEvent const *event)=0 |
pointer event handler More... | |
notification of WM events that the policy may need to track. | |
virtual void | advise_new_app (ApplicationInfo &application) |
Notification that a new application has connected. More... | |
virtual void | advise_delete_app (ApplicationInfo const &application) |
Notification that an application has disconnected. More... | |
virtual void | advise_new_window (WindowInfo const &window_info) |
Notification that a window has been created. More... | |
virtual void | advise_focus_lost (WindowInfo const &window_info) |
Notification that a window has lost focus. More... | |
virtual void | advise_focus_gained (WindowInfo const &window_info) |
Notification that a window has gained focus. More... | |
virtual void | advise_state_change (WindowInfo const &window_info, MirWindowState state) |
Notification that a window is about to change state. More... | |
virtual void | advise_move_to (WindowInfo const &window_info, Point top_left) |
Notification that a window is about to move. More... | |
virtual void | advise_resize (WindowInfo const &window_info, Size const &new_size) |
Notification that a window is about to resize. More... | |
virtual void | advise_delete_window (WindowInfo const &window_info) |
Notification that a window is about to be destroyed. More... | |
virtual void | advise_raise (std::vector< Window > const &windows) |
Notification that windows are being raised to the top. More... | |
virtual void | advise_adding_to_workspace (std::shared_ptr< Workspace > const &workspace, std::vector< Window > const &windows) |
Notification that windows are being added to a workspace. More... | |
virtual void | advise_removing_from_workspace (std::shared_ptr< Workspace > const &workspace, std::vector< Window > const &windows) |
Notification that windows are being removed from a workspace. More... | |
handle requests originating from the client | |
The policy is expected to update the model as appropriate | |
virtual void | handle_request_drag_and_drop (WindowInfo &window_info)=0 |
request from client to initiate drag and drop More... | |
virtual void | handle_request_move (WindowInfo &window_info, MirInputEvent const *input_event)=0 |
request from client to initiate move More... | |
virtual void | handle_request_resize (WindowInfo &window_info, MirInputEvent const *input_event, MirResizeEdge edge)=0 |
request from client to initiate resize More... | |
notification of changes to the (connected, active) outputs. | |
virtual void | advise_output_create (Output const &output) |
virtual void | advise_output_update (Output const &updated, Output const &original) |
virtual void | advise_output_delete (Output const &output) |
notification of changes to the current application zones | |
An application zone is the area a maximized application will fill. There is often (but not necessarily) one zone per output. The areas normal applications windows should avoid (such as the areas covered by panels) will not be part of an application zone | |
virtual void | advise_application_zone_create (Zone const &application_zone) |
virtual void | advise_application_zone_update (Zone const &updated, Zone const &original) |
virtual void | advise_application_zone_delete (Zone const &application_zone) |
The interface through which the window management policy is determined.
|
virtualdefault |
|
default |
|
delete |
|
virtual |
Notification that windows are being added to a workspace.
These windows are ordered with parents before children, and form a single tree rooted at the first element.
workspace | the workspace |
windows | the windows |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
before any related calls begin
|
virtual |
Notification that an application has disconnected.
application | the application |
Reimplemented in TilingWindowManagerPolicy.
|
virtual |
Notification that a window is about to be destroyed.
window_info | the window |
|
virtual |
after any related calls end
Reimplemented in TilingWindowManagerPolicy.
|
virtual |
Notification that a window has gained focus.
window_info | the window |
Reimplemented in FloatingWindowManagerPolicy, TilingWindowManagerPolicy, KioskWindowManagerPolicy, miral::CanonicalWindowManagerPolicy, and miral::MinimalWindowManager.
|
virtual |
Notification that a window has lost focus.
window_info | the window |
|
virtual |
Notification that a window is about to move.
window_info | the window |
top_left | the new position |
|
virtual |
Notification that a new application has connected.
application | the application |
Reimplemented in TilingWindowManagerPolicy.
|
virtual |
Notification that a window has been created.
window_info | the window |
Reimplemented in FloatingWindowManagerPolicy, and TilingWindowManagerPolicy.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Notification that windows are being raised to the top.
These windows are ordered with parents before children, and form a single tree rooted at the first element.
windows | the windows |
|
virtual |
Notification that windows are being removed from a workspace.
These windows are ordered with parents before children, and form a single tree rooted at the first element.
workspace | the workspace |
windows | the windows |
|
virtual |
Notification that a window is about to resize.
window_info | the window |
new_size | the new size |
|
virtual |
Notification that a window is about to change state.
window_info | the window |
state | the new state |
|
pure virtual |
Confirm (and optionally adjust) the motion of a child window when the parent is moved.
window_info | the window |
movement | the movement of the parent |
Implemented in TilingWindowManagerPolicy, miral::CanonicalWindowManagerPolicy, and miral::MinimalWindowManager.
|
pure virtual |
Confirm (and optionally adjust) the placement of a window on the display.
Called when (re)placing fullscreen, maximized, horizontally maximised and vertically maximized windows to allow adjustment for decorations.
window_info | the window |
new_state | the new state |
new_placement | the suggested placement |
Implemented in TilingWindowManagerPolicy, KioskWindowManagerPolicy, miral::CanonicalWindowManagerPolicy, and miral::MinimalWindowManager.
|
pure virtual |
keyboard event handler
event | the event |
Implemented in FloatingWindowManagerPolicy, TilingWindowManagerPolicy, KioskWindowManagerPolicy, and miral::MinimalWindowManager.
|
pure virtual |
request from client to modify the window specification.
window_info | the window |
modifications | the requested changes |
Implemented in FloatingWindowManagerPolicy, TilingWindowManagerPolicy, KioskWindowManagerPolicy, miral::CanonicalWindowManagerPolicy, and miral::MinimalWindowManager.
|
pure virtual |
pointer event handler
event | the event |
Implemented in FloatingWindowManagerPolicy, TilingWindowManagerPolicy, KioskWindowManagerPolicy, and miral::MinimalWindowManager.
|
pure virtual |
request from client to raise the window
window_info | the window |
Implemented in TilingWindowManagerPolicy, miral::CanonicalWindowManagerPolicy, and miral::MinimalWindowManager.
|
pure virtual |
request from client to initiate drag and drop
window_info | the window |
Implemented in TilingWindowManagerPolicy, KioskWindowManagerPolicy, miral::CanonicalWindowManagerPolicy, and miral::MinimalWindowManager.
|
pure virtual |
request from client to initiate move
window_info | the window |
input_event | the requesting event |
Implemented in TilingWindowManagerPolicy, KioskWindowManagerPolicy, and miral::MinimalWindowManager.
|
pure virtual |
request from client to initiate resize
window_info | the window |
input_event | the requesting event |
edge | the edge(s) being dragged |
Implemented in TilingWindowManagerPolicy, KioskWindowManagerPolicy, and miral::MinimalWindowManager.
|
pure virtual |
touch event handler
event | the event |
Implemented in FloatingWindowManagerPolicy, TilingWindowManagerPolicy, KioskWindowManagerPolicy, and miral::MinimalWindowManager.
|
pure virtual |
notification that the first buffer has been posted
window_info | the window |
Implemented in FloatingWindowManagerPolicy, TilingWindowManagerPolicy, miral::CanonicalWindowManagerPolicy, and miral::MinimalWindowManager.
|
delete |
|
pure virtual |
Customize initial window placement.
app_info | the application requesting a new window |
requested_specification | the requested specification (updated with default placement) |
Implemented in miral::CanonicalWindowManagerPolicy, miral::MinimalWindowManager, KioskWindowManagerPolicy, TilingWindowManagerPolicy, and FloatingWindowManagerPolicy.
Copyright © 2012-2023
Canonical Ltd.
Generated on Tue 2 May 10:01:24 UTC 2023
This documentation is licensed under the GPL version 2 or 3.