i3
Public Types | Data Fields
Con Struct Reference

A 'Con' represents everything from the X11 root window down to a single X11 window. More...

#include <data.h>

Collaboration diagram for Con:
Collaboration graph
[legend]

Public Types

enum  {
  CT_ROOT = 0, CT_OUTPUT = 1, CT_CON = 2, CT_FLOATING_CON = 3,
  CT_WORKSPACE = 4, CT_DOCKAREA = 5
}
 
enum  { FLOATING_AUTO_OFF = 0, FLOATING_USER_OFF = 1, FLOATING_AUTO_ON = 2, FLOATING_USER_ON = 3 }
 floating? (= not in tiling layout) This cannot be simply a bool because we want to keep track of whether the status was set by the application (by setting _NET_WM_WINDOW_TYPE appropriately) or by the user. More...
 
enum  { SCRATCHPAD_NONE = 0, SCRATCHPAD_FRESH = 1, SCRATCHPAD_CHANGED = 2 }
 

Data Fields

bool mapped
 
bool urgent
 
uint8_t ignore_unmap
 This counter contains the number of UnmapNotify events for this container (or, more precisely, for its ->frame) which should be ignored. More...
 
surface_t frame
 
surface_t frame_buffer
 
bool pixmap_recreated
 
enum Con:: { ... }  type
 
int num
 the workspace number, if this Con is of type CT_WORKSPACE and the workspace is not a named workspace (for named workspaces, num == -1) More...
 
struct Conparent
 
struct Rect rect
 
struct Rect window_rect
 
struct Rect deco_rect
 
struct Rect geometry
 the geometry this window requested when getting mapped More...
 
char * name
 
char * title_format
 The format with which the window's name should be displayed. More...
 
char * sticky_group
 
 marks_head
 
bool mark_changed
 
double percent
 
int border_width
 
int current_border_width
 
struct Windowwindow
 
struct ev_timer * urgency_timer
 
struct deco_render_paramsdeco_render_params
 Cache for the decoration rendering. More...
 
 floating_head
 
 nodes_head
 
 focus_head
 
 swallow_head
 
fullscreen_mode_t fullscreen_mode
 
bool sticky
 
layout_t layout
 
layout_t last_split_layout
 
layout_t workspace_layout
 
border_style_t border_style
 
enum Con:: { ... }  floating
 floating? (= not in tiling layout) This cannot be simply a bool because we want to keep track of whether the status was set by the application (by setting _NET_WM_WINDOW_TYPE appropriately) or by the user. More...
 
 nodes
 
 focused
 
 all_cons
 
 floating_windows
 
void(* on_remove_child )(Con *)
 callbacks More...
 
enum Con:: { ... }  scratchpad_state
 
int old_id
 
uint16_t depth
 
xcb_colormap_t colormap
 

Detailed Description

A 'Con' represents everything from the X11 root window down to a single X11 window.

Definition at line 591 of file data.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
CT_ROOT 
CT_OUTPUT 
CT_CON 
CT_FLOATING_CON 
CT_WORKSPACE 
CT_DOCKAREA 

Definition at line 610 of file data.h.

◆ anonymous enum

anonymous enum

floating? (= not in tiling layout) This cannot be simply a bool because we want to keep track of whether the status was set by the application (by setting _NET_WM_WINDOW_TYPE appropriately) or by the user.

The user’s choice overwrites automatic mode, of course. The order of the values is important because we check with >= FLOATING_AUTO_ON if a client is floating.

Enumerator
FLOATING_AUTO_OFF 
FLOATING_USER_OFF 
FLOATING_AUTO_ON 
FLOATING_USER_ON 

Definition at line 709 of file data.h.

◆ anonymous enum

anonymous enum
Enumerator
SCRATCHPAD_NONE 
SCRATCHPAD_FRESH 
SCRATCHPAD_CHANGED 

Definition at line 731 of file data.h.

Field Documentation

◆ all_cons

Con::all_cons

Definition at line 723 of file data.h.

◆ border_style

border_style_t Con::border_style

◆ border_width

int Con::border_width

◆ colormap

xcb_colormap_t Con::colormap

Definition at line 751 of file data.h.

Referenced by x_con_init(), and x_con_kill().

◆ current_border_width

int Con::current_border_width

◆ deco_rect

struct Rect Con::deco_rect

◆ deco_render_params

struct deco_render_params* Con::deco_render_params

◆ depth

uint16_t Con::depth

Definition at line 748 of file data.h.

Referenced by json_int(), and x_con_init().

◆ floating

enum { ... } Con::floating

floating? (= not in tiling layout) This cannot be simply a bool because we want to keep track of whether the status was set by the application (by setting _NET_WM_WINDOW_TYPE appropriately) or by the user.

The user’s choice overwrites automatic mode, of course. The order of the values is important because we check with >= FLOATING_AUTO_ON if a client is floating.

Referenced by con_inside_floating(), con_is_floating(), floating_disable(), floating_enable(), and json_string().

◆ floating_head

Con::floating_head

◆ floating_windows

Con::floating_windows

Definition at line 726 of file data.h.

◆ focus_head

Con::focus_head

◆ focused

Con::focused

Definition at line 720 of file data.h.

◆ frame

surface_t Con::frame

◆ frame_buffer

surface_t Con::frame_buffer

◆ fullscreen_mode

fullscreen_mode_t Con::fullscreen_mode

◆ geometry

struct Rect Con::geometry

the geometry this window requested when getting mapped

Definition at line 635 of file data.h.

Referenced by floating_enable(), handle_configure_request(), handle_strut_partial_change(), json_end_map(), json_int(), manage_window(), render_con_dockarea(), and render_output().

◆ ignore_unmap

uint8_t Con::ignore_unmap

This counter contains the number of UnmapNotify events for this container (or, more precisely, for its ->frame) which should be ignored.

UnmapNotify events need to be ignored when they are caused by i3 itself, for example when reparenting or when unmapping the window on a workspace change.

Definition at line 603 of file data.h.

Referenced by handle_unmap_notify_event(), x_push_node(), and x_push_node_unmaps().

◆ last_split_layout

layout_t Con::last_split_layout

Definition at line 701 of file data.h.

Referenced by con_set_layout(), con_toggle_layout(), and json_string().

◆ layout

layout_t Con::layout

◆ mapped

bool Con::mapped

◆ mark_changed

bool Con::mark_changed

Definition at line 651 of file data.h.

Referenced by con_mark(), con_unmark(), and x_draw_decoration().

◆ marks_head

Con::marks_head

◆ name

char* Con::name

Definition at line 637 of file data.h.

Referenced by _con_move_to_con(), _create___i3(), _workspace_show(), cmd_border(), cmd_criteria_match_windows(), cmd_floating(), cmd_focus(), cmd_fullscreen(), cmd_layout(), cmd_layout_toggle(), cmd_mark(), cmd_move_con_to_mark(), cmd_move_con_to_output(), cmd_move_con_to_workspace(), cmd_move_con_to_workspace_back_and_forth(), cmd_move_con_to_workspace_name(), cmd_move_con_to_workspace_number(), cmd_move_scratchpad(), cmd_move_window_to_center(), cmd_move_window_to_mouse(), cmd_rename_workspace(), cmd_scratchpad_show(), cmd_split(), cmd_sticky(), cmd_title_format(), cmd_workspace_number(), con_disable_fullscreen(), con_enable_fullscreen(), con_free(), con_is_internal(), con_on_remove_child(), con_swap(), con_toggle_fullscreen(), create_workspace_on_output(), ewmh_update_desktop_names(), ewmh_update_desktop_viewport(), ewmh_update_number_of_desktops(), floating_maybe_reassign_ws(), floating_raise_con(), get_output_for_con(), handle_client_message(), handle_configure_request(), handle_enter_notify(), handle_focus_in(), handle_strut_partial_change(), init_ws_for_output(), IPC_HANDLER(), json_end_map(), json_string(), main(), manage_window(), match_matches_window(), maybe_back_and_forth(), open_placeholder_window(), output_change_mode(), output_init_con(), randr_disable_output(), render_con(), route_click(), scratchpad_fix_resolution(), scratchpad_move(), start_application(), TAILQ_HEAD(), tree_close_internal(), tree_flatten(), tree_init(), tree_restore(), workspace_attach_to(), workspace_encapsulate(), workspace_get(), workspace_move_to_output(), workspace_prev_on_output(), workspace_reassign_sticky(), x_push_changes(), and x_push_node_unmaps().

◆ nodes

Con::nodes

Definition at line 717 of file data.h.

◆ nodes_head

Con::nodes_head

Definition at line 672 of file data.h.

Referenced by _con_attach(), _con_move_to_con(), _get_sticky(), _is_con_mapped(), _tree_next(), _workspace_show(), attach_to_workspace(), cmd_move_con_to_workspace_number(), cmd_rename_workspace(), cmd_resize_tiling_width_height(), cmd_workspace_number(), con_descend_direction(), con_detach(), con_fix_percent(), con_for_window(), con_get_fullscreen_con(), con_get_next(), con_get_tree_representation(), con_has_urgent_child(), con_is_leaf(), con_is_sticky(), con_minimum_size(), con_num_children(), con_num_visible_children(), con_num_windows(), con_set_layout(), create_workspace_on_output(), ewmh_get_workspace_by_index(), ewmh_get_workspace_index(), ewmh_update_desktop_names(), ewmh_update_desktop_viewport(), ewmh_update_number_of_desktops(), ewmh_update_wm_desktop(), ewmh_update_wm_desktop_recursively(), floating_disable(), floating_enable(), floating_set_hint_atom(), get_urgency_flag(), handle_button_press(), handle_enter_notify(), handle_motion_notify(), handle_strut_partial_change(), init_ws_for_output(), insert_con_into(), IPC_HANDLER(), is_con_attached(), json_end_map(), main(), mark_unmapped(), open_placeholder_window(), output_change_mode(), output_get_content(), output_init_con(), precalculate_sizes(), randr_disable_output(), randr_query_outputs(), render_con(), render_output(), render_root(), restore_open_placeholder_windows(), scratchpad_fix_resolution(), tree_close_internal(), tree_flatten(), tree_move(), tree_restore(), tree_split(), workspace_encapsulate(), workspace_get(), workspace_move_to_output(), workspace_next(), workspace_prev(), workspace_reassign_sticky(), ws_force_orientation(), x_deco_recurse(), x_draw_decoration(), x_push_node(), and x_push_node_unmaps().

◆ num

int Con::num

the workspace number, if this Con is of type CT_WORKSPACE and the workspace is not a named workspace (for named workspaces, num == -1)

Definition at line 621 of file data.h.

Referenced by _con_attach(), _create___i3(), cmd_move_con_to_workspace_number(), cmd_rename_workspace(), cmd_workspace_number(), create_workspace_on_output(), IPC_HANDLER(), json_end_map(), json_int(), output_change_mode(), workspace_get(), workspace_next(), workspace_next_on_output(), workspace_prev(), and workspace_prev_on_output().

◆ old_id

int Con::old_id

Definition at line 745 of file data.h.

Referenced by json_end_array(), and json_int().

◆ on_remove_child

void(* Con::on_remove_child) (Con *)

callbacks

Definition at line 729 of file data.h.

◆ parent

struct Con* Con::parent

Definition at line 623 of file data.h.

Referenced by _con_attach(), _con_move_to_con(), _tree_next(), _workspace_show(), attach_to_workspace(), cmd_append_layout(), cmd_focus_level(), cmd_move_direction(), cmd_move_window_to_position(), cmd_rename_workspace(), cmd_resize_tiling_direction(), cmd_resize_tiling_width_height(), cmd_split(), con_border_style(), con_detach(), con_focus(), con_force_split_parents_redraw(), con_fullscreen_permits_focusing(), con_get_next(), con_get_output(), con_get_workspace(), con_has_parent(), con_inside_floating(), con_inside_focused(), con_is_docked(), con_is_hidden(), con_next_focused(), con_on_remove_child(), con_parent_with_orientation(), con_set_border_style(), con_set_layout(), con_swap(), con_toggle_layout(), con_update_parents_urgency(), floating_disable(), floating_enable(), floating_raise_con(), handle_client_message(), handle_configure_request(), handle_enter_notify(), handle_focus_in(), handle_strut_partial_change(), insert_con_into(), is_con_attached(), json_end_map(), level_up(), manage_window(), output_push_sticky_windows(), resize_find_tiling_participants(), resize_graphical_handler(), route_click(), scratchpad_move(), scratchpad_show(), TAILQ_HEAD(), tiling_resize(), tiling_resize_for_border(), tree_append_json(), tree_close_internal(), tree_flatten(), tree_move(), tree_open_con(), tree_split(), workspace_get(), workspace_move_to_output(), ws_force_orientation(), x_draw_decoration(), x_draw_decoration_after_title(), x_draw_title_border(), and x_push_node().

◆ percent

double Con::percent

◆ pixmap_recreated

bool Con::pixmap_recreated

Definition at line 608 of file data.h.

Referenced by x_draw_decoration(), and x_push_node().

◆ rect

struct Rect Con::rect

◆ scratchpad_state

enum { ... } Con::scratchpad_state

◆ sticky

bool Con::sticky

Definition at line 685 of file data.h.

Referenced by cmd_sticky(), con_is_sticky(), handle_client_message(), json_bool(), and manage_window().

◆ sticky_group

char* Con::sticky_group

Definition at line 645 of file data.h.

Referenced by _get_sticky(), json_string(), and workspace_reassign_sticky().

◆ swallow_head

Con::swallow_head

◆ title_format

char* Con::title_format

The format with which the window's name should be displayed.

Definition at line 640 of file data.h.

Referenced by cmd_title_format(), con_parse_title_format(), json_string(), window_update_name(), window_update_name_legacy(), and x_draw_decoration().

◆ type

enum { ... } Con::type

Referenced by _con_attach(), _con_move_to_con(), _create___i3(), _tree_next(), cmd_append_layout(), cmd_focus_window_mode(), cmd_move_con_to_workspace(), cmd_move_con_to_workspace_name(), cmd_move_con_to_workspace_number(), cmd_resize_tiling_width_height(), cmd_split(), con_accepts_window(), con_border_style(), con_close(), con_descend_direction(), con_descend_tiling_focused(), con_detach(), con_disable_fullscreen(), con_enable_fullscreen(), con_focus(), con_force_split_parents_redraw(), con_fullscreen_permits_focusing(), con_get_next(), con_get_output(), con_get_workspace(), con_inside_floating(), con_is_docked(), con_is_hidden(), con_minimum_size(), con_move_to_mark(), con_move_to_workspace(), con_next_focused(), con_on_remove_child(), con_parent_with_orientation(), con_set_layout(), con_swap(), con_toggle_fullscreen(), con_toggle_layout(), con_update_parents_urgency(), create_workspace_on_output(), ewmh_update_wm_desktop_recursively(), floating_disable(), floating_enable(), floating_move_to_pointer(), handle_configure_request(), handle_enter_notify(), handle_focus_in(), handle_strut_partial_change(), insert_con_into(), IPC_HANDLER(), json_end_map(), json_int(), json_string(), level_down(), level_up(), manage_window(), mark_unmapped(), open_placeholder_window(), output_get_content(), output_init_con(), output_push_sticky_windows(), randr_disable_output(), render_con(), render_output(), resize_find_tiling_participants(), route_click(), scratchpad_move(), scratchpad_show(), tiling_resize(), toggle_floating_mode(), tree_close_internal(), tree_flatten(), tree_init(), tree_move(), tree_open_con(), tree_split(), workspace_get(), x_deco_recurse(), x_draw_decoration(), and x_push_node().

◆ urgency_timer

struct ev_timer* Con::urgency_timer

◆ urgent

bool Con::urgent

◆ window

struct Window* Con::window

◆ window_rect

struct Rect Con::window_rect

◆ workspace_layout

layout_t Con::workspace_layout

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