i3
Window Struct Reference

A 'Window' is a type which contains an xcb_window_t and all the related information (hints like _NET_WM_NAME for that window). More...

#include <data.h>

Collaboration diagram for Window:

Public Types

enum  { W_NODOCK = 0 , W_DOCK_TOP = 1 , W_DOCK_BOTTOM = 2 }
 Whether the window says it is a dock window. More...
 

Data Fields

xcb_window_t id
 
xcb_window_t leader
 Holds the xcb_window_t (just an ID) for the leader window (logical parent for toolwindows and similar floating windows)
 
xcb_window_t transient_for
 
uint32_t nr_assignments
 Pointers to the Assignments which were already ran for this Window (assignments run only once)
 
Assignment ** ran_assignments
 
char * class_class
 
char * class_instance
 
i3Stringname
 The name of the window.
 
char * role
 The WM_WINDOW_ROLE of this window (for example, the pidgin buddy window sets "buddy list").
 
char * machine
 WM_CLIENT_MACHINE of the window.
 
bool name_x_changed
 Flag to force re-rendering the decoration upon changes.
 
bool uses_net_wm_name
 Whether the application used _NET_WM_NAME.
 
bool needs_take_focus
 Whether the application needs to receive WM_TAKE_FOCUS.
 
bool doesnt_accept_focus
 Whether this window accepts focus.
 
xcb_atom_t window_type
 The _NET_WM_WINDOW_TYPE for this window.
 
uint32_t wm_desktop
 The _NET_WM_DESKTOP for this window.
 
enum Window:: { ... }  dock
 Whether the window says it is a dock window.
 
struct timeval urgent
 When this window was marked urgent.
 
struct reservedpx reserved
 Pixels the window reserves.
 
uint16_t depth
 Depth of the window.
 
int base_width
 
int base_height
 
int width_increment
 
int height_increment
 
int min_width
 
int min_height
 
int max_width
 
int max_height
 
double min_aspect_ratio
 
double max_aspect_ratio
 
cairo_surface_t * icon
 Window icon, as Cairo surface.
 
bool shaped
 The window has a nonrectangular shape.
 
bool input_shaped
 The window has a nonrectangular input shape.
 
time_t managed_since
 
bool swallowed
 

Detailed Description

A 'Window' is a type which contains an xcb_window_t and all the related information (hints like _NET_WM_NAME for that window).

Definition at line 424 of file data.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum

Whether the window says it is a dock window.

Enumerator
W_NODOCK 
W_DOCK_TOP 
W_DOCK_BOTTOM 

Definition at line 471 of file data.h.

Field Documentation

◆ base_height

int Window::base_height

Definition at line 487 of file data.h.

Referenced by floating_check_size(), and window_update_normal_hints().

◆ base_width

int Window::base_width

Definition at line 486 of file data.h.

Referenced by floating_check_size(), and window_update_normal_hints().

◆ class_class

char* Window::class_class

Definition at line 437 of file data.h.

Referenced by _con_attach(), match_matches_window(), window_free(), and window_update_class().

◆ class_instance

char* Window::class_instance

Definition at line 438 of file data.h.

Referenced by _con_attach(), con_get_tree_representation(), window_free(), and window_update_class().

◆ depth

uint16_t Window::depth

Depth of the window.

Definition at line 482 of file data.h.

Referenced by _match_depth(), con_new_skeleton(), manage_window(), and x_push_node().

◆ []

enum { ... } Window::dock

Whether the window says it is a dock window.

Referenced by cmd_resize(), cmd_resize_set(), handle_strut_partial_change(), manage_window(), and match_matches_window().

◆ doesnt_accept_focus

bool Window::doesnt_accept_focus

Whether this window accepts focus.

We store this inverted so that the default will be 'accepts focus'.

Definition at line 462 of file data.h.

Referenced by manage_window(), window_update_hints(), and x_push_changes().

◆ height_increment

int Window::height_increment

◆ icon

cairo_surface_t* Window::icon

Window icon, as Cairo surface.

Definition at line 506 of file data.h.

Referenced by window_free(), window_update_icon(), and x_draw_decoration().

◆ id

◆ input_shaped

bool Window::input_shaped

The window has a nonrectangular input shape.

Definition at line 511 of file data.h.

Referenced by set_shape_state(), and x_set_shape().

◆ leader

xcb_window_t Window::leader

Holds the xcb_window_t (just an ID) for the leader window (logical parent for toolwindows and similar floating windows)

Definition at line 429 of file data.h.

Referenced by floating_enable(), manage_window(), startup_sequence_get(), and window_update_leader().

◆ machine

char* Window::machine

WM_CLIENT_MACHINE of the window.

Definition at line 449 of file data.h.

Referenced by window_free(), and window_update_machine().

◆ managed_since

time_t Window::managed_since

Definition at line 515 of file data.h.

Referenced by manage_window(), and placeholder_for_con().

◆ max_aspect_ratio

double Window::max_aspect_ratio

Definition at line 503 of file data.h.

Referenced by floating_check_size(), and window_update_normal_hints().

◆ max_height

int Window::max_height

Definition at line 499 of file data.h.

Referenced by floating_check_size(), manage_window(), and window_update_normal_hints().

◆ max_width

int Window::max_width

Definition at line 498 of file data.h.

Referenced by floating_check_size(), manage_window(), and window_update_normal_hints().

◆ min_aspect_ratio

double Window::min_aspect_ratio

Definition at line 502 of file data.h.

Referenced by floating_check_size(), and window_update_normal_hints().

◆ min_height

int Window::min_height

Definition at line 495 of file data.h.

Referenced by floating_check_size(), manage_window(), and window_update_normal_hints().

◆ min_width

int Window::min_width

Definition at line 494 of file data.h.

Referenced by floating_check_size(), manage_window(), and window_update_normal_hints().

◆ name

◆ name_x_changed

bool Window::name_x_changed

Flag to force re-rendering the decoration upon changes.

Definition at line 452 of file data.h.

Referenced by cmd_title_format(), cmd_title_window_icon(), window_update_icon(), window_update_name(), window_update_name_legacy(), and x_draw_decoration().

◆ needs_take_focus

bool Window::needs_take_focus

Whether the application needs to receive WM_TAKE_FOCUS.

Definition at line 458 of file data.h.

Referenced by manage_window(), and x_push_changes().

◆ nr_assignments

uint32_t Window::nr_assignments

Pointers to the Assignments which were already ran for this Window (assignments run only once)

Definition at line 434 of file data.h.

Referenced by free_configuration(), and run_assignments().

◆ ran_assignments

Assignment** Window::ran_assignments

Definition at line 435 of file data.h.

Referenced by free_configuration(), run_assignments(), and window_free().

◆ reserved

struct reservedpx Window::reserved

Pixels the window reserves.

left/right/top/bottom

Definition at line 479 of file data.h.

Referenced by handle_strut_partial_change(), manage_window(), and window_update_strut_partial().

◆ role

char* Window::role

The WM_WINDOW_ROLE of this window (for example, the pidgin buddy window sets "buddy list").

Useful to match specific windows in assignments or for_window.

Definition at line 446 of file data.h.

Referenced by window_free(), and window_update_role().

◆ shaped

bool Window::shaped

The window has a nonrectangular shape.

Definition at line 509 of file data.h.

Referenced by manage_window(), set_shape_state(), and x_set_shape().

◆ swallowed

bool Window::swallowed

Definition at line 518 of file data.h.

Referenced by manage_window(), placeholder_for_con(), and remanage_window().

◆ transient_for

xcb_window_t Window::transient_for

◆ urgent

struct timeval Window::urgent

When this window was marked urgent.

0 means not urgent

Definition at line 476 of file data.h.

Referenced by con_set_urgency(), and match_matches_window().

◆ uses_net_wm_name

bool Window::uses_net_wm_name

Whether the application used _NET_WM_NAME.

Definition at line 455 of file data.h.

Referenced by window_update_name(), and window_update_name_legacy().

◆ width_increment

int Window::width_increment

◆ window_type

xcb_atom_t Window::window_type

The _NET_WM_WINDOW_TYPE for this window.

Definition at line 465 of file data.h.

Referenced by dump_node(), manage_window(), match_matches_window(), and window_update_type().

◆ wm_desktop

uint32_t Window::wm_desktop

The _NET_WM_DESKTOP for this window.

Definition at line 468 of file data.h.

Referenced by ewmh_update_wm_desktop_recursively(), and manage_window().


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