i3
Public Types | Public Member Functions | 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  { CF_NONE = 0, CF_OUTPUT = 1, CF_GLOBAL = 2 }
enum  {
  L_DEFAULT = 0, L_STACKED = 1, L_TABBED = 2, L_DOCKAREA = 3,
  L_OUTPUT = 4
}
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 }

Public Member Functions

 TAILQ_HEAD (floating_head, Con) floating_head
 TAILQ_HEAD (nodes_head, Con) nodes_head
 TAILQ_HEAD (focus_head, Con) focus_head
 TAILQ_HEAD (swallow_head, Match) swallow_head
 TAILQ_ENTRY (Con) nodes
 TAILQ_ENTRY (Con) focused
 TAILQ_ENTRY (Con) all_cons
 TAILQ_ENTRY (Con) floating_windows

Data Fields

bool mapped
enum Con:: { ... }  type
orientation_t orientation
struct Conparent
struct Rect rect
struct Rect window_rect
struct Rect deco_rect
struct Rect geometry
 the geometry this window requested when getting mapped
char * name
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)
char * sticky_group
char * mark
double percent
int proportional_width
int proportional_height
int base_width
int base_height
int border_width
int width_increment
int height_increment
struct Windowwindow
bool urgent
xcb_window_t frame
xcb_pixmap_t pixmap
xcb_gcontext_t pm_gc
bool pixmap_recreated
struct deco_render_paramsdeco_render_params
 Cache for the decoration rendering.
enum Con:: { ... }  fullscreen_mode
enum Con:: { ... }  layout
border_style_t border_style
enum Con:: { ... }  floating
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.
void(* on_remove_child )(Con *)
 callbacks
enum Con:: { ... }  scratchpad_state
int old_id

Detailed Description

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

Definition at line 424 of file data.h.


Member Enumeration Documentation

anonymous enum
Enumerator:
CT_ROOT 
CT_OUTPUT 
CT_CON 
CT_FLOATING_CON 
CT_WORKSPACE 
CT_DOCKAREA 

Definition at line 426 of file data.h.

anonymous enum
Enumerator:
CF_NONE 
CF_OUTPUT 
CF_GLOBAL 

Definition at line 498 of file data.h.

anonymous enum
Enumerator:
L_DEFAULT 
L_STACKED 
L_TABBED 
L_DOCKAREA 
L_OUTPUT 

Definition at line 499 of file data.h.

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 507 of file data.h.

anonymous enum
Enumerator:
SCRATCHPAD_NONE 
SCRATCHPAD_FRESH 
SCRATCHPAD_CHANGED 

Definition at line 529 of file data.h.


Member Function Documentation

Con::TAILQ_ENTRY ( Con  )
Con::TAILQ_ENTRY ( Con  )
Con::TAILQ_ENTRY ( Con  )
Con::TAILQ_ENTRY ( Con  )
Con::TAILQ_HEAD ( nodes_head  ,
Con   
)
Con::TAILQ_HEAD ( floating_head  ,
Con   
)
Con::TAILQ_HEAD ( focus_head  ,
Con   
)
Con::TAILQ_HEAD ( swallow_head  ,
Match   
)

Field Documentation

Definition at line 466 of file data.h.

Referenced by handle_normal_hints(), and render_con().

Definition at line 465 of file data.h.

Referenced by handle_normal_hints(), and render_con().

Cache for the decoration rendering.

Definition at line 488 of file data.h.

Referenced by load_configuration(), tree_close(), tree_move(), tree_split(), and x_draw_decoration().

enum { ... } Con::floating
xcb_window_t Con::frame
enum { ... } Con::fullscreen_mode

the geometry this window requested when getting mapped

Definition at line 441 of file data.h.

Referenced by floating_enable(), handle_configure_request(), json_int(), manage_window(), render_con(), and render_l_output().

Definition at line 473 of file data.h.

Referenced by handle_normal_hints(), and render_con().

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 519 of file data.h.

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

enum { ... } Con::layout
char* Con::mark

Definition at line 455 of file data.h.

Referenced by cmd_criteria_match_windows(), cmd_mark(), IPC_HANDLER(), and json_string().

char* Con::name
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 447 of file data.h.

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

Definition at line 537 of file data.h.

Referenced by json_end_array(), and json_int().

callbacks

Definition at line 527 of file data.h.

struct Con* Con::parent
double Con::percent
xcb_pixmap_t Con::pixmap

Definition at line 485 of file data.h.

Referenced by x_draw_decoration(), and x_push_node().

xcb_gcontext_t Con::pm_gc

Definition at line 462 of file data.h.

Referenced by handle_normal_hints(), and render_con().

Definition at line 461 of file data.h.

Referenced by handle_normal_hints(), and render_con().

struct Rect Con::rect
enum { ... } Con::scratchpad_state

Definition at line 452 of file data.h.

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

enum { ... } Con::type

Definition at line 472 of file data.h.

Referenced by handle_normal_hints(), and render_con().


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