Mir
Loading...
Searching...
No Matches
miral::MinimalWindowManager Class Reference

Minimal implementation of a floating window management policy. More...

#include <minimal_window_manager.h>

Inheritance diagram for miral::MinimalWindowManager:
[legend]

Public Member Functions

 MinimalWindowManager (WindowManagerTools const &tools)
 ~MinimalWindowManager ()
auto place_new_window (ApplicationInfo const &app_info, WindowSpecification const &requested_specification) -> WindowSpecification override
 Honours the requested specification.
void handle_window_ready (WindowInfo &window_info) override
 If the window can have focus it is given focus.
void handle_modify_window (WindowInfo &window_info, WindowSpecification const &modifications) override
 Honours the requested modifications.
void handle_raise_window (WindowInfo &window_info) override
 Gives focus to the requesting window (tree).
auto confirm_placement_on_display (WindowInfo const &window_info, MirWindowState new_state, Rectangle const &new_placement) -> Rectangle override
 Honours the requested placement.
bool handle_keyboard_event (MirKeyboardEvent const *event) override
 Handles Alt-Tab, Alt-Grave and Alt-F4.
bool handle_touch_event (MirTouchEvent const *event) override
 Handles touch to focus.
bool handle_pointer_event (MirPointerEvent const *event) override
 Handles pre-existing move & resize gestures, plus click to focus.
void handle_request_drag_and_drop (WindowInfo &window_info) override
 Currently unimplemented.
void handle_request_move (WindowInfo &window_info, MirInputEvent const *input_event) override
 Initiates a move gesture (only implemented for pointers).
void handle_request_resize (WindowInfo &window_info, MirInputEvent const *input_event, MirResizeEdge edge) override
 Initiates a resize gesture (only implemented for pointers).
auto confirm_inherited_move (WindowInfo const &window_info, Displacement movement) -> Rectangle override
 Honours the requested movement.
void advise_focus_gained (WindowInfo const &window_info) override
 Raises newly focused window.
Public Member Functions inherited from miral::WindowManagementPolicy
virtual void advise_begin ()
 before any related calls begin
virtual void advise_end ()
 after any related calls end
virtual ~WindowManagementPolicy ()=default
 WindowManagementPolicy ()=default
 WindowManagementPolicy (WindowManagementPolicy const &)=delete
WindowManagementPolicyoperator= (WindowManagementPolicy const &)=delete
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 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)

Protected Member Functions

bool begin_pointer_move (WindowInfo const &window_info, MirInputEvent const *input_event)
bool begin_pointer_resize (WindowInfo const &window_info, MirInputEvent const *input_event, MirResizeEdge const &edge)
bool begin_touch_move (WindowInfo const &window_info, MirInputEvent const *input_event)
bool begin_touch_resize (WindowInfo const &window_info, MirInputEvent const *input_event, MirResizeEdge const &edge)

Protected Attributes

WindowManagerTools tools

Detailed Description

Minimal implementation of a floating window management policy.

Remarks
Since MirAL 2.5

Constructor & Destructor Documentation

◆ MinimalWindowManager()

miral::MinimalWindowManager::MinimalWindowManager ( WindowManagerTools const & tools)
explicit

◆ ~MinimalWindowManager()

miral::MinimalWindowManager::~MinimalWindowManager ( )

Member Function Documentation

◆ advise_focus_gained()

void miral::MinimalWindowManager::advise_focus_gained ( WindowInfo const & window_info)
overridevirtual

Raises newly focused window.

Reimplemented from miral::WindowManagementPolicy.

◆ begin_pointer_move()

bool miral::MinimalWindowManager::begin_pointer_move ( WindowInfo const & window_info,
MirInputEvent const * input_event )
protected

◆ begin_pointer_resize()

bool miral::MinimalWindowManager::begin_pointer_resize ( WindowInfo const & window_info,
MirInputEvent const * input_event,
MirResizeEdge const & edge )
protected

◆ begin_touch_move()

bool miral::MinimalWindowManager::begin_touch_move ( WindowInfo const & window_info,
MirInputEvent const * input_event )
protected

◆ begin_touch_resize()

bool miral::MinimalWindowManager::begin_touch_resize ( WindowInfo const & window_info,
MirInputEvent const * input_event,
MirResizeEdge const & edge )
protected

◆ confirm_inherited_move()

auto miral::MinimalWindowManager::confirm_inherited_move ( WindowInfo const & window_info,
Displacement movement )->Rectangle
overridevirtual

Honours the requested movement.

Implements miral::WindowManagementPolicy.

◆ confirm_placement_on_display()

auto miral::MinimalWindowManager::confirm_placement_on_display ( WindowInfo const & window_info,
MirWindowState new_state,
Rectangle const & new_placement )->Rectangle
overridevirtual

Honours the requested placement.

Implements miral::WindowManagementPolicy.

◆ handle_keyboard_event()

bool miral::MinimalWindowManager::handle_keyboard_event ( MirKeyboardEvent const * event)
overridevirtual

Handles Alt-Tab, Alt-Grave and Alt-F4.

Implements miral::WindowManagementPolicy.

◆ handle_modify_window()

void miral::MinimalWindowManager::handle_modify_window ( WindowInfo & window_info,
WindowSpecification const & modifications )
overridevirtual

Honours the requested modifications.

Implements miral::WindowManagementPolicy.

◆ handle_pointer_event()

bool miral::MinimalWindowManager::handle_pointer_event ( MirPointerEvent const * event)
overridevirtual

Handles pre-existing move & resize gestures, plus click to focus.

Implements miral::WindowManagementPolicy.

◆ handle_raise_window()

void miral::MinimalWindowManager::handle_raise_window ( WindowInfo & window_info)
overridevirtual

Gives focus to the requesting window (tree).

Implements miral::WindowManagementPolicy.

◆ handle_request_drag_and_drop()

void miral::MinimalWindowManager::handle_request_drag_and_drop ( WindowInfo & window_info)
overridevirtual

Currently unimplemented.

Implements miral::WindowManagementPolicy.

◆ handle_request_move()

void miral::MinimalWindowManager::handle_request_move ( WindowInfo & window_info,
MirInputEvent const * input_event )
overridevirtual

Initiates a move gesture (only implemented for pointers).

Implements miral::WindowManagementPolicy.

◆ handle_request_resize()

void miral::MinimalWindowManager::handle_request_resize ( WindowInfo & window_info,
MirInputEvent const * input_event,
MirResizeEdge edge )
overridevirtual

Initiates a resize gesture (only implemented for pointers).

Implements miral::WindowManagementPolicy.

◆ handle_touch_event()

bool miral::MinimalWindowManager::handle_touch_event ( MirTouchEvent const * event)
overridevirtual

Handles touch to focus.

Implements miral::WindowManagementPolicy.

◆ handle_window_ready()

void miral::MinimalWindowManager::handle_window_ready ( WindowInfo & window_info)
overridevirtual

If the window can have focus it is given focus.

Implements miral::WindowManagementPolicy.

◆ place_new_window()

auto miral::MinimalWindowManager::place_new_window ( ApplicationInfo const & app_info,
WindowSpecification const & requested_specification )->WindowSpecification
overridevirtual

Honours the requested specification.

Implements miral::WindowManagementPolicy.

Member Data Documentation

◆ tools

WindowManagerTools miral::MinimalWindowManager::tools
protected

The documentation for this class was generated from the following file:

Copyright © 2012-2026 Canonical Ltd.
Generated on Sun Mar 15 06:10:58 UTC 2026
This documentation is licensed under the GPL version 2 or 3.