EHS
Loading...
Searching...
No Matches
The xdg_toplevel interface

Classes

struct  xdg_toplevel_listener
 

Macros

#define XDG_TOPLEVEL_STATE_TILED_LEFT_SINCE_VERSION   2
 
#define XDG_TOPLEVEL_STATE_TILED_RIGHT_SINCE_VERSION   2
 
#define XDG_TOPLEVEL_STATE_TILED_TOP_SINCE_VERSION   2
 
#define XDG_TOPLEVEL_STATE_TILED_BOTTOM_SINCE_VERSION   2
 
#define XDG_TOPLEVEL_STATE_SUSPENDED_SINCE_VERSION   6
 
#define XDG_TOPLEVEL_CONFIGURE_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_CLOSE_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_CONFIGURE_BOUNDS_SINCE_VERSION   4
 
#define XDG_TOPLEVEL_WM_CAPABILITIES_SINCE_VERSION   5
 
#define XDG_TOPLEVEL_DESTROY_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_SET_PARENT_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_SET_TITLE_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_SET_APP_ID_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_SHOW_WINDOW_MENU_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_MOVE_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_RESIZE_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_SET_MAX_SIZE_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_SET_MIN_SIZE_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_SET_MAXIMIZED_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_UNSET_MAXIMIZED_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_SET_FULLSCREEN_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_UNSET_FULLSCREEN_SINCE_VERSION   1
 
#define XDG_TOPLEVEL_SET_MINIMIZED_SINCE_VERSION   1
 

Enumerations

enum  xdg_toplevel_resize_edge {
  XDG_TOPLEVEL_RESIZE_EDGE_NONE = 0 , XDG_TOPLEVEL_RESIZE_EDGE_TOP = 1 , XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM = 2 , XDG_TOPLEVEL_RESIZE_EDGE_LEFT = 4 ,
  XDG_TOPLEVEL_RESIZE_EDGE_TOP_LEFT = 5 , XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_LEFT = 6 , XDG_TOPLEVEL_RESIZE_EDGE_RIGHT = 8 , XDG_TOPLEVEL_RESIZE_EDGE_TOP_RIGHT = 9 ,
  XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_RIGHT = 10
}
 
enum  xdg_toplevel_state {
  XDG_TOPLEVEL_STATE_MAXIMIZED = 1 , XDG_TOPLEVEL_STATE_FULLSCREEN = 2 , XDG_TOPLEVEL_STATE_RESIZING = 3 , XDG_TOPLEVEL_STATE_ACTIVATED = 4 ,
  XDG_TOPLEVEL_STATE_TILED_LEFT = 5 , XDG_TOPLEVEL_STATE_TILED_RIGHT = 6 , XDG_TOPLEVEL_STATE_TILED_TOP = 7 , XDG_TOPLEVEL_STATE_TILED_BOTTOM = 8 ,
  XDG_TOPLEVEL_STATE_SUSPENDED = 9
}
 

Detailed Description

This interface defines an xdg_surface role which allows a surface to, among other things, set window-like properties such as maximize, fullscreen, and minimize, set application-specific metadata like title and id, and well as trigger user interactive operations such as interactive resize and move.

Unmapping an xdg_toplevel means that the surface cannot be shown by the compositor until it is explicitly mapped again. All active operations (e.g., move, resize) are canceled and all attributes (e.g. title, state, stacking, ...) are discarded for an xdg_toplevel surface when it is unmapped. The xdg_toplevel returns to the state it had right after xdg_surface.get_toplevel. The client can re-map the toplevel by perfoming a commit without any buffer attached, waiting for a configure event and handling it as usual (see xdg_surface description).

Attaching a null buffer to a toplevel unmaps the surface.

Macro Definition Documentation

◆ XDG_TOPLEVEL_CLOSE_SINCE_VERSION

#define XDG_TOPLEVEL_CLOSE_SINCE_VERSION   1

◆ XDG_TOPLEVEL_CONFIGURE_BOUNDS_SINCE_VERSION

#define XDG_TOPLEVEL_CONFIGURE_BOUNDS_SINCE_VERSION   4

◆ XDG_TOPLEVEL_CONFIGURE_SINCE_VERSION

#define XDG_TOPLEVEL_CONFIGURE_SINCE_VERSION   1

◆ XDG_TOPLEVEL_DESTROY_SINCE_VERSION

#define XDG_TOPLEVEL_DESTROY_SINCE_VERSION   1

◆ XDG_TOPLEVEL_MOVE_SINCE_VERSION

#define XDG_TOPLEVEL_MOVE_SINCE_VERSION   1

◆ XDG_TOPLEVEL_RESIZE_SINCE_VERSION

#define XDG_TOPLEVEL_RESIZE_SINCE_VERSION   1

◆ XDG_TOPLEVEL_SET_APP_ID_SINCE_VERSION

#define XDG_TOPLEVEL_SET_APP_ID_SINCE_VERSION   1

◆ XDG_TOPLEVEL_SET_FULLSCREEN_SINCE_VERSION

#define XDG_TOPLEVEL_SET_FULLSCREEN_SINCE_VERSION   1

◆ XDG_TOPLEVEL_SET_MAX_SIZE_SINCE_VERSION

#define XDG_TOPLEVEL_SET_MAX_SIZE_SINCE_VERSION   1

◆ XDG_TOPLEVEL_SET_MAXIMIZED_SINCE_VERSION

#define XDG_TOPLEVEL_SET_MAXIMIZED_SINCE_VERSION   1

◆ XDG_TOPLEVEL_SET_MIN_SIZE_SINCE_VERSION

#define XDG_TOPLEVEL_SET_MIN_SIZE_SINCE_VERSION   1

◆ XDG_TOPLEVEL_SET_MINIMIZED_SINCE_VERSION

#define XDG_TOPLEVEL_SET_MINIMIZED_SINCE_VERSION   1

◆ XDG_TOPLEVEL_SET_PARENT_SINCE_VERSION

#define XDG_TOPLEVEL_SET_PARENT_SINCE_VERSION   1

◆ XDG_TOPLEVEL_SET_TITLE_SINCE_VERSION

#define XDG_TOPLEVEL_SET_TITLE_SINCE_VERSION   1

◆ XDG_TOPLEVEL_SHOW_WINDOW_MENU_SINCE_VERSION

#define XDG_TOPLEVEL_SHOW_WINDOW_MENU_SINCE_VERSION   1

◆ XDG_TOPLEVEL_STATE_SUSPENDED_SINCE_VERSION

#define XDG_TOPLEVEL_STATE_SUSPENDED_SINCE_VERSION   6

◆ XDG_TOPLEVEL_STATE_TILED_BOTTOM_SINCE_VERSION

#define XDG_TOPLEVEL_STATE_TILED_BOTTOM_SINCE_VERSION   2

◆ XDG_TOPLEVEL_STATE_TILED_LEFT_SINCE_VERSION

#define XDG_TOPLEVEL_STATE_TILED_LEFT_SINCE_VERSION   2

◆ XDG_TOPLEVEL_STATE_TILED_RIGHT_SINCE_VERSION

#define XDG_TOPLEVEL_STATE_TILED_RIGHT_SINCE_VERSION   2

◆ XDG_TOPLEVEL_STATE_TILED_TOP_SINCE_VERSION

#define XDG_TOPLEVEL_STATE_TILED_TOP_SINCE_VERSION   2

◆ XDG_TOPLEVEL_UNSET_FULLSCREEN_SINCE_VERSION

#define XDG_TOPLEVEL_UNSET_FULLSCREEN_SINCE_VERSION   1

◆ XDG_TOPLEVEL_UNSET_MAXIMIZED_SINCE_VERSION

#define XDG_TOPLEVEL_UNSET_MAXIMIZED_SINCE_VERSION   1

◆ XDG_TOPLEVEL_WM_CAPABILITIES_SINCE_VERSION

#define XDG_TOPLEVEL_WM_CAPABILITIES_SINCE_VERSION   5

Enumeration Type Documentation

◆ xdg_toplevel_resize_edge

edge values for resizing

These values are used to indicate which edge of a surface is being dragged in a resize operation.

Enumerator
XDG_TOPLEVEL_RESIZE_EDGE_NONE 
XDG_TOPLEVEL_RESIZE_EDGE_TOP 
XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM 
XDG_TOPLEVEL_RESIZE_EDGE_LEFT 
XDG_TOPLEVEL_RESIZE_EDGE_TOP_LEFT 
XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_LEFT 
XDG_TOPLEVEL_RESIZE_EDGE_RIGHT 
XDG_TOPLEVEL_RESIZE_EDGE_TOP_RIGHT 
XDG_TOPLEVEL_RESIZE_EDGE_BOTTOM_RIGHT 

◆ xdg_toplevel_state

types of state on the surface

The different state values used on the surface. This is designed for state values like maximized, fullscreen. It is paired with the configure event to ensure that both the client and the compositor setting the state can be synchronized.

States set in this way are double-buffered. They will get applied on the next commit.

Enumerator
XDG_TOPLEVEL_STATE_MAXIMIZED 

the surface is maximized the surface is maximized

The surface is maximized. The window geometry specified in the configure event must be obeyed by the client, or the xdg_wm_base.invalid_surface_state error is raised.

The client should draw without shadow or other decoration outside of the window geometry.

XDG_TOPLEVEL_STATE_FULLSCREEN 

the surface is fullscreen the surface is fullscreen

The surface is fullscreen. The window geometry specified in the configure event is a maximum; the client cannot resize beyond it. For a surface to cover the whole fullscreened area, the geometry dimensions must be obeyed by the client. For more details, see xdg_toplevel.set_fullscreen.

XDG_TOPLEVEL_STATE_RESIZING 

the surface is being resized the surface is being resized

The surface is being resized. The window geometry specified in the configure event is a maximum; the client cannot resize beyond it. Clients that have aspect ratio or cell sizing configuration can use a smaller size, however.

XDG_TOPLEVEL_STATE_ACTIVATED 

the surface is now activated the surface is now activated

Client window decorations should be painted as if the window is active. Do not assume this means that the window actually has keyboard or pointer focus.

XDG_TOPLEVEL_STATE_TILED_LEFT 

the surface’s left edge is tiled

The window is currently in a tiled layout and the left edge is considered to be adjacent to another part of the tiling grid.

Since
2
XDG_TOPLEVEL_STATE_TILED_RIGHT 

the surface’s right edge is tiled

The window is currently in a tiled layout and the right edge is considered to be adjacent to another part of the tiling grid.

Since
2
XDG_TOPLEVEL_STATE_TILED_TOP 

the surface’s top edge is tiled

The window is currently in a tiled layout and the top edge is considered to be adjacent to another part of the tiling grid.

Since
2
XDG_TOPLEVEL_STATE_TILED_BOTTOM 

the surface’s bottom edge is tiled

The window is currently in a tiled layout and the bottom edge is considered to be adjacent to another part of the tiling grid.

Since
2
XDG_TOPLEVEL_STATE_SUSPENDED 

surface repaint is suspended

The surface is currently not ordinarily being repainted; for example because its content is occluded by another window, or its outputs are switched off due to screen locking.

Since
6