Mir
|
Widely accepted defaults for window management. More...
#include <canonical_window_manager.h>
Public Member Functions | |
CanonicalWindowManagerPolicy (WindowManagerTools const &tools) | |
virtual auto | place_new_window (ApplicationInfo const &app_info, WindowSpecification const &request_parameters) -> WindowSpecification override |
Customize initial window placement. | |
void | handle_window_ready (WindowInfo &window_info) override |
Tries to focus on the newly ready window. | |
void | handle_modify_window (WindowInfo &window_info, WindowSpecification const &modifications) override |
Applies the requested modifications. | |
void | handle_raise_window (WindowInfo &window_info) override |
Tries to focus on the newly ready window. | |
void | handle_request_drag_and_drop (WindowInfo &window_info) override |
request from client to initiate drag and drop | |
void | advise_focus_gained (WindowInfo const &info) override |
Raises the window (and any children) | |
auto | confirm_inherited_move (WindowInfo const &window_info, Displacement movement) -> Rectangle override |
Move the child window with the parent. | |
auto | confirm_placement_on_display (WindowInfo const &window_info, MirWindowState new_state, Rectangle const &new_placement) -> Rectangle override |
Confirm (and optionally adjust) the placement of a window on the display. | |
![]() | |
virtual void | advise_begin () |
before any related calls begin | |
virtual void | advise_end () |
after any related calls end | |
virtual auto | place_new_window (ApplicationInfo const &app_info, WindowSpecification const &requested_specification) -> WindowSpecification=0 |
Customize initial window placement. | |
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. | |
virtual | ~WindowManagementPolicy ()=default |
WindowManagementPolicy ()=default | |
WindowManagementPolicy (WindowManagementPolicy const &)=delete | |
WindowManagementPolicy & | operator= (WindowManagementPolicy const &)=delete |
virtual bool | handle_keyboard_event (MirKeyboardEvent const *event)=0 |
keyboard event handler | |
virtual bool | handle_touch_event (MirTouchEvent const *event)=0 |
touch event handler | |
virtual bool | handle_pointer_event (MirPointerEvent const *event)=0 |
pointer event handler | |
virtual void | advise_new_app (ApplicationInfo &application) |
Notification that a new application has connected. | |
virtual void | advise_delete_app (ApplicationInfo const &application) |
Notification that an application has disconnected. | |
virtual void | advise_new_window (WindowInfo const &window_info) |
Notification that a window has been created. | |
virtual void | advise_focus_lost (WindowInfo const &window_info) |
Notification that a window has lost focus. | |
virtual void | advise_state_change (WindowInfo const &window_info, MirWindowState state) |
Notification that a window is about to change state. | |
virtual void | advise_move_to (WindowInfo const &window_info, Point top_left) |
Notification that a window is about to move. | |
virtual void | advise_resize (WindowInfo const &window_info, Size const &new_size) |
Notification that a window is about to resize. | |
virtual void | advise_delete_window (WindowInfo const &window_info) |
Notification that a window is about to be destroyed. | |
virtual void | advise_raise (std::vector< Window > const &windows) |
Notification that windows are being raised to the top. | |
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. | |
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. | |
virtual void | handle_request_move (WindowInfo &window_info, MirInputEvent const *input_event)=0 |
request from client to initiate move | |
virtual void | handle_request_resize (WindowInfo &window_info, MirInputEvent const *input_event, MirResizeEdge edge)=0 |
request from client to initiate resize | |
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) |
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) |
Protected Attributes | |
WindowManagerTools | tools |
Widely accepted defaults for window management.
|
explicit |
|
overridevirtual |
Raises the window (and any children)
Reimplemented from miral::WindowManagementPolicy.
Reimplemented in KioskWindowManagerPolicy.
|
overridevirtual |
Move the child window with the parent.
Implements miral::WindowManagementPolicy.
|
overridevirtual |
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 |
Implements miral::WindowManagementPolicy.
Reimplemented in KioskWindowManagerPolicy.
|
overridevirtual |
Applies the requested modifications.
Implements miral::WindowManagementPolicy.
Reimplemented in KioskWindowManagerPolicy.
|
overridevirtual |
Tries to focus on the newly ready window.
Implements miral::WindowManagementPolicy.
|
overridevirtual |
request from client to initiate drag and drop
Implements miral::WindowManagementPolicy.
Reimplemented in KioskWindowManagerPolicy.
|
overridevirtual |
Tries to focus on the newly ready window.
Implements miral::WindowManagementPolicy.
|
overridevirtual |
Customize initial window placement.
app_info | the application requesting a new window |
requested_specification | the requested specification (updated with default placement) |
Implements miral::WindowManagementPolicy.
Reimplemented in KioskWindowManagerPolicy.
|
protected |
Copyright © 2012-2023
Canonical Ltd.
Generated on Sat Sep 9 03:21:56 UTC 2023
This documentation is licensed under the GPL version 2 or 3.