Struct WindowInfo¶
Defined in File window_info.h
Struct Documentation¶
-
struct WindowInfo¶
Unnamed Group
-
auto min_width() const -> mir::geometry::Width¶
These constrain the sizes a window may be resized to (both interactively and pragmatically). Clients can request a min/max size, but it can be overridden by the window management policy. By default, minimum values are 0 and maximum values are
std::numeric_limits<int>::max()
.
Unnamed Group
-
auto width_inc() const -> mir::geometry::DeltaX¶
These control the size increments of the window. This is used in cases like a terminal that can only be resized character-by-character. Current Wayland protocols do not support this property, so it generally wont be requested by clients. By default, both are 1.
Unnamed Group
-
auto min_aspect() const -> AspectRatio¶
These constrain the possible aspect ratio of the window. Current Wayland protocols to not support this property, so it generally wont be requested by clients. By default, min_aspect is
{0U, std::numeric_limits<unsigned>::max()}
and max_aspect is{std::numeric_limits<unsigned>::max(), 0U}
.
-
auto max_aspect() const -> AspectRatio¶
Unnamed Group
-
auto application_id() const -> std::string¶
The D-bus service name and basename of the app’s .desktop file See https://specifications.freedesktop.org/desktop-entry-spec/.
Remark
Since MirAL 2.8
Unnamed Group
-
static bool needs_titlebar(MirWindowType type)¶
- Deprecated:
Obsolete: Window::size() includes decorations
Public Types
-
using AspectRatio = WindowSpecification::AspectRatio¶
Public Functions
-
WindowInfo()¶
-
WindowInfo(Window const &window, WindowSpecification const ¶ms)¶
-
~WindowInfo()¶
-
explicit WindowInfo(WindowInfo const &that)¶
-
WindowInfo &operator=(WindowInfo const &that)¶
-
bool can_be_active() const¶
-
bool can_morph_to(MirWindowType new_type) const¶
-
bool must_have_parent() const¶
-
bool must_not_have_parent() const¶
-
bool is_visible() const¶
-
void constrain_resize(mir::geometry::Point &requested_pos, mir::geometry::Size &requested_size) const¶
-
auto name() const -> std::string¶
-
auto type() const -> MirWindowType¶
-
auto state() const -> MirWindowState¶
-
bool has_output_id() const¶
-
auto output_id() const -> int¶
-
auto preferred_orientation() const -> MirOrientationMode¶
-
auto confine_pointer() const -> MirPointerConfinementState¶
-
auto shell_chrome() const -> MirShellChrome¶
-
auto userdata() const -> std::shared_ptr<void>¶
This can be used by client code to store window manager specific information.
-
inline void swap(WindowInfo &rhs)¶
-
auto depth_layer() const -> MirDepthLayer¶
-
auto attached_edges() const -> MirPlacementGravity¶
Get the edges of the output that the window is attached to (only meaningful for windows in state mir_window_state_attached)
-
auto exclusive_rect() const -> mir::optional_value<mir::geometry::Rectangle>¶
Mir will try to avoid occluding the area covered by this rectangle (relative to the window) (only meaningful when the window is attached to an edge)
-
auto ignore_exclusion_zones() const -> bool¶
Mir will ignore the exclusive_rects of other windows when this is set to true. (only meaningful when the window is attached to an edge)
-
auto clip_area() const -> mir::optional_value<mir::geometry::Rectangle>¶
Mir will not render anything outside this rectangle.
-
void clip_area(mir::optional_value<mir::geometry::Rectangle> const &area)¶
-
auto focus_mode() const -> MirFocusMode¶
How the window should gain and lose focus.
Remark
Since MirAL 3.3
-
auto visible_on_lock_screen() const -> bool¶
If this surface should be shown while the compositor is locked.
Remark
Since MirAL 3.9
-
auto min_width() const -> mir::geometry::Width¶