|
i3
|
A 'Con' represents everything from the X11 root window down to a single X11 window. More...
#include <data.h>

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 } |
Public Member Functions | |
| TAILQ_HEAD (marks_head, mark_t) marks_head | |
| 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 |
| 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. | |
| 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) | |
| gaps_t | gaps |
| Only applicable for containers of type CT_WORKSPACE. | |
| struct Con * | parent |
| struct Rect | rect |
| struct Rect | window_rect |
| struct Rect | deco_rect |
| struct Rect | geometry |
| the geometry this window requested when getting mapped | |
| char * | name |
| char * | title_format |
| The format with which the window's name should be displayed. | |
| int | window_icon_padding |
| Whether the window icon should be displayed, and with what padding. | |
| char * | sticky_group |
| bool | mark_changed |
| double | percent |
| int | border_width |
| int | current_border_width |
| struct Window * | window |
| struct ev_timer * | urgency_timer |
| struct deco_render_params * | deco_render_params |
| Cache for the decoration rendering. | |
| fullscreen_mode_t | fullscreen_mode |
| bool | sticky |
| layout_t | layout |
| layout_t | last_split_layout |
| layout_t | workspace_layout |
| border_style_t | border_style |
| border_style_t | max_user_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. | |
| void(* | on_remove_child )(Con *) |
| callbacks | |
| enum Con:: { ... } | scratchpad_state |
| int | old_id |
| uint16_t | depth |
| xcb_colormap_t | colormap |
A 'Con' represents everything from the X11 root window down to a single X11 window.
| 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 | |
| anonymous enum |
| Con::TAILQ_ENTRY | ( | Con | ) |
| Con::TAILQ_ENTRY | ( | Con | ) |
| Con::TAILQ_ENTRY | ( | Con | ) |
| Con::TAILQ_ENTRY | ( | Con | ) |
| Con::TAILQ_HEAD | ( | floating_head | , |
| Con | ) |
| Con::TAILQ_HEAD | ( | focus_head | , |
| Con | ) |
| Con::TAILQ_HEAD | ( | marks_head | , |
| mark_t | ) |
| Con::TAILQ_HEAD | ( | nodes_head | , |
| Con | ) |
| Con::TAILQ_HEAD | ( | swallow_head | , |
| Match | ) |
| border_style_t Con::border_style |
Definition at line 781 of file data.h.
Referenced by cmd_border(), con_border_style(), con_set_border_style(), dump_node(), floating_enable(), handle_motif_hints_change(), json_string(), render_con(), render_con_split(), render_con_stacked(), and render_con_tabbed().
| int Con::border_width |
Definition at line 739 of file data.h.
Referenced by fake_absolute_configure_notify(), floating_check_size(), floating_enable(), handle_configure_request(), manage_window(), render_con(), restore_geometry(), and x_shape_frame().
| xcb_colormap_t Con::colormap |
Definition at line 831 of file data.h.
Referenced by _x_con_kill(), and x_con_init().
| int Con::current_border_width |
Definition at line 740 of file data.h.
Referenced by con_border_style_rect_without_title(), con_set_border_style(), dump_node(), handle_motif_hints_change(), json_int(), json_string(), and manage_window().
| struct Rect Con::deco_rect |
Definition at line 712 of file data.h.
Referenced by con_minimum_size(), dump_node(), floating_check_size(), handle_button_press(), handle_enter_notify(), handle_motion_notify(), percent_for_1px(), render_con(), render_con_dockarea(), render_con_split(), render_con_stacked(), render_con_tabbed(), render_output(), x_draw_decoration(), x_draw_decoration_after_title(), x_draw_title_border(), and x_push_node().
| struct deco_render_params* Con::deco_render_params |
Cache for the decoration rendering.
Definition at line 748 of file data.h.
Referenced by _con_move_to_con(), cmd_title_format(), cmd_title_window_icon(), con_force_split_parents_redraw(), con_free(), con_swap(), free_configuration(), move_to_output_directed(), tree_move(), and x_draw_decoration().
| uint16_t Con::depth |
Definition at line 828 of file data.h.
Referenced by _match_depth(), dump_node(), json_int(), and x_con_init().
| 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(), con_swap(), dump_node(), floating_disable(), floating_enable(), handle_client_message(), json_end_map(), json_string(), manage_window(), and match_matches_window().
| surface_t Con::frame |
Definition at line 682 of file data.h.
Referenced by _match_depth(), _x_con_kill(), con_by_frame_id(), handle_expose_event(), manage_window(), set_hidden_state(), set_maximized_state(), set_shape_state(), x_con_init(), x_con_kill(), x_deco_recurse(), x_draw_decoration(), x_move_win(), x_push_changes(), x_push_node(), x_push_node_unmaps(), x_raise_con(), x_reinit(), x_reparent_child(), x_set_name(), x_set_shape(), x_shape_frame(), and x_unshape_frame().
| surface_t Con::frame_buffer |
Definition at line 683 of file data.h.
Referenced by _x_con_kill(), handle_expose_event(), x_deco_recurse(), x_draw_decoration(), and x_push_node().
| fullscreen_mode_t Con::fullscreen_mode |
Definition at line 758 of file data.h.
Referenced by _con_move_to_con(), _create___i3(), con_border_style(), con_disable_fullscreen(), con_enable_fullscreen(), con_fullscreen_permits_focusing(), con_get_fullscreen_con(), con_is_maximized(), con_set_fullscreen_mode(), con_swap(), con_toggle_fullscreen(), create_workspace_on_output(), dump_node(), floating_check_size(), get_tree_next(), handle_net_wm_state_change(), init_ws_for_output(), json_int(), render_con(), scratchpad_show(), tiling_drag(), tiling_resize_for_border(), tree_move(), tree_next(), and workspace_show().
| gaps_t Con::gaps |
Only applicable for containers of type CT_WORKSPACE.
Definition at line 700 of file data.h.
Referenced by calculate_effective_gaps(), create_workspace_on_output(), dump_node(), gaps_reapply_workspace_assignments(), gaps_update(), json_int(), and workspace_get().
| struct Rect Con::geometry |
the geometry this window requested when getting mapped
Definition at line 714 of file data.h.
Referenced by dump_node(), floating_enable(), handle_configure_request(), handle_strut_partial_change(), json_end_map(), json_int(), manage_window(), render_con_dockarea(), and render_output().
| 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 679 of file data.h.
Referenced by handle_unmap_notify_event(), x_push_node(), and x_push_node_unmaps().
| layout_t Con::last_split_layout |
Definition at line 779 of file data.h.
Referenced by con_set_layout(), con_toggle_layout(), and json_string().
| layout_t Con::layout |
Definition at line 779 of file data.h.
Referenced by _create___i3(), _workspace_apply_default_orientation(), cmd_open(), cmd_split(), con_border_style(), con_draw_decoration_into_frame(), con_get_tree_representation(), con_inside_stacked_or_tabbed(), con_is_hidden(), con_is_maximized(), con_is_split(), con_minimum_size(), con_on_side_of_parent(), con_orientation(), con_set_layout(), con_toggle_layout(), dump_node(), floating_enable(), gaps_should_inset_con(), handle_enter_notify(), handle_motion_notify(), json_end_map(), json_string(), output_change_mode(), output_init_con(), precalculate_sizes(), render_con(), render_con_dockarea(), render_con_split(), render_con_stacked(), render_con_tabbed(), resize_find_tiling_participants(), route_click(), tiling_drag(), tree_flatten(), tree_init(), tree_move(), tree_split(), workspace_attach_to(), workspace_encapsulate(), ws_force_orientation(), x_draw_decoration(), and x_push_node().
| bool Con::mapped |
Definition at line 668 of file data.h.
Referenced by manage_window(), mark_unmapped(), render_con(), tree_render(), workspace_reassign_sticky(), x_deco_recurse(), x_push_changes(), x_push_node(), and x_push_node_unmaps().
| bool Con::mark_changed |
Definition at line 734 of file data.h.
Referenced by con_mark(), con_unmark(), and x_draw_decoration().
| border_style_t Con::max_user_border_style |
Definition at line 788 of file data.h.
Referenced by cmd_border(), con_set_border_style(), floating_enable(), and json_string().
| char* Con::name |
Definition at line 716 of file data.h.
Referenced by _con_move_to_con(), _create___i3(), 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_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_title_window_icon(), cmd_workspace_number(), con_disable_fullscreen(), con_enable_fullscreen(), con_free(), con_is_internal(), con_on_remove_child(), con_toggle_fullscreen(), create_workspace_on_output(), dump_node(), ewmh_update_desktop_names(), floating_maybe_reassign_ws(), floating_raise_con(), gaps_for_workspace(), gaps_reapply_workspace_assignments(), get_output_for_con(), handle_client_message(), handle_configure_request(), handle_enter_notify(), handle_focus_in(), handle_focus_out(), 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(), move_content(), move_matches_to_workspace(), open_placeholder_window(), output_change_mode(), output_init_con(), randr_query_outputs(), render_con(), resize_graphical_handler(), route_click(), scratchpad_fix_resolution(), scratchpad_move(), set_maximized_state(), start_application(), tree_close_internal(), tree_flatten(), tree_init(), tree_restore(), workspace_attach_to(), workspace_encapsulate(), workspace_get(), workspace_move_to_output(), workspace_reassign_sticky(), workspace_show(), x_draw_decoration(), x_push_changes(), and x_push_node_unmaps().
| 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 697 of file data.h.
Referenced by _con_attach(), _create___i3(), cmd_rename_workspace(), create_workspace_on_output(), dump_node(), gaps_for_workspace(), get_existing_workspace_by_num(), init_ws_for_output(), json_end_map(), json_int(), output_change_mode(), workspace_get(), workspace_next(), workspace_next_on_output(), workspace_prev(), and workspace_prev_on_output().
| int Con::old_id |
Definition at line 825 of file data.h.
Referenced by json_end_array(), and json_int().
| struct Con* Con::parent |
Definition at line 702 of file data.h.
Referenced by _con_attach(), _con_move_to_con(), attach_to_workspace(), child_containing_con_recursively(), cmd_append_layout(), cmd_focus_direction(), cmd_focus_level(), cmd_move_direction(), cmd_move_window_to_position(), cmd_rename_workspace(), cmd_resize_tiling_width_height(), cmd_split(), con_border_style(), con_detach(), con_draw_decoration_into_frame(), con_focus(), con_force_split_parents_redraw(), con_fullscreen_permits_focusing(), con_get_output(), con_get_workspace(), con_has_parent(), con_inside_floating(), con_inside_focused(), con_inside_stacked_or_tabbed(), con_is_docked(), con_is_hidden(), con_is_maximized(), con_next_focused(), con_on_remove_child(), con_on_side_of_parent(), con_parent_with_orientation(), con_set_border_style(), con_set_layout(), con_swap(), con_toggle_layout(), con_update_parents_urgency(), DRAGGING_CB(), dump_node(), floating_disable(), floating_enable(), floating_raise_con(), gaps_should_inset_con(), get_tree_next(), handle_client_message(), handle_configure_request(), handle_enter_notify(), handle_focus_in(), handle_motion_notify(), handle_strut_partial_change(), insert_con_into(), is_con_attached(), is_focused_descendant(), json_end_map(), level_up(), lowest_common_ancestor(), manage_window(), output_push_sticky_windows(), percent_for_1px(), resize_find_tiling_participants(), resize_neighboring_cons(), route_click(), scratchpad_move(), scratchpad_show(), tiling_drag(), tiling_resize_for_border(), tree_append_json(), tree_close_internal(), tree_flatten(), tree_move(), tree_next(), tree_open_con(), tree_split(), workspace_move_to_output(), workspace_show(), ws_force_orientation(), x_draw_decoration(), x_draw_decoration_after_title(), and x_push_node().
| double Con::percent |
Definition at line 736 of file data.h.
Referenced by _con_move_to_con(), attach_to_workspace(), cmd_resize_tiling_width_height(), con_fix_percent(), con_swap(), dump_node(), floating_disable(), floating_enable(), insert_con_into(), json_double(), precalculate_sizes(), resize_graphical_handler(), resize_neighboring_cons(), resize_set_tiling(), tree_flatten(), and tree_split().
| bool Con::pixmap_recreated |
Definition at line 684 of file data.h.
Referenced by x_draw_decoration(), and x_push_node().
| struct Rect Con::rect |
Definition at line 706 of file data.h.
Referenced by _con_move_to_con(), _create___i3(), _workspace_apply_default_orientation(), cmd_move_direction(), cmd_move_window_to_center(), cmd_move_window_to_position(), cmd_resize_floating(), cmd_resize_set(), con_adjacent_borders(), con_rect_size_in_orientation(), con_set_border_style(), con_swap(), drag_pointer(), DRAGGING_CB(), DRAGGING_CB(), dump_node(), ewmh_update_desktop_viewport(), fake_absolute_configure_notify(), find_drop_target(), floating_center(), floating_check_size(), floating_drag_window(), floating_enable(), floating_fix_coordinates(), floating_maybe_reassign_ws(), floating_mod_on_tiled_client(), floating_move_to_pointer(), floating_reposition(), floating_resize(), floating_resize_window(), get_tree_next_workspace(), handle_button_press(), handle_client_message(), handle_configure_request(), handle_expose_event(), handle_screen_change(), handle_strut_partial_change(), init_ws_for_output(), json_end_map(), json_int(), manage_window(), move_content(), open_placeholder_window(), output_change_mode(), output_init_con(), render_con(), render_con_dockarea(), render_con_split(), render_con_stacked(), render_con_tabbed(), render_output(), render_root(), resize_graphical_handler(), resize_set_tiling(), restore_geometry(), scratchpad_fix_resolution(), scratchpad_show(), tiling_resize(), tree_close_internal(), tree_init(), tree_next(), tree_restore(), workspace_move_to_output(), workspace_show(), x_deco_recurse(), x_draw_decoration(), x_get_border_rectangles(), and x_push_node().
| enum { ... } Con::scratchpad_state |
| bool Con::sticky |
Definition at line 763 of file data.h.
Referenced by cmd_sticky(), con_is_sticky(), con_merge_into(), dump_node(), handle_client_message(), handle_net_wm_state_change(), json_bool(), and manage_window().
| char* Con::sticky_group |
Definition at line 729 of file data.h.
Referenced by _get_sticky(), con_merge_into(), json_string(), and workspace_reassign_sticky().
| char* Con::title_format |
The format with which the window's name should be displayed.
Definition at line 719 of file data.h.
Referenced by cmd_title_format(), con_merge_into(), con_parse_title_format(), dump_node(), json_string(), window_update_name(), window_update_name_legacy(), and x_draw_decoration().
| enum { ... } Con::type |
Referenced by _con_attach(), _con_move_to_con(), _create___i3(), cmd_append_layout(), cmd_focus_sibling(), cmd_focus_window_mode(), cmd_rename_workspace(), 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_force_split_parents_redraw(), con_fullscreen_permits_focusing(), con_get_output(), con_get_workspace(), con_inside_floating(), con_is_docked(), con_is_hidden(), con_is_maximized(), con_minimum_size(), con_move_to_target(), 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(), DRAGGING_CB(), dump_node(), ewmh_update_wm_desktop_recursively(), floating_disable(), floating_enable(), floating_move_to_pointer(), gaps_should_inset_con(), get_tree_next(), handle_configure_request(), handle_enter_notify(), handle_focus_in(), handle_strut_partial_change(), init_ws_for_output(), insert_con_into(), IPC_HANDLER(), json_end_map(), json_int(), json_string(), level_down(), level_up(), manage_window(), mark_unmapped(), move_content(), open_placeholder_window(), output_get_content(), output_init_con(), output_push_sticky_windows(), render_con(), render_output(), resize_find_tiling_participants(), route_click(), scratchpad_move(), scratchpad_show(), set_focus_order(), toggle_floating_mode(), tree_close_internal(), tree_flatten(), tree_init(), tree_move(), tree_next(), tree_open_con(), tree_split(), workspace_get(), x_deco_recurse(), x_draw_decoration(), and x_push_node().
| struct ev_timer* Con::urgency_timer |
Definition at line 745 of file data.h.
Referenced by con_set_urgency(), tree_close_internal(), workspace_defer_update_urgent_hint_cb(), and workspace_show().
| bool Con::urgent |
Definition at line 672 of file data.h.
Referenced by _con_move_to_con(), con_focus(), con_has_urgent_child(), con_merge_into(), con_on_remove_child(), con_set_urgency(), con_swap(), con_update_parents_urgency(), dump_node(), get_urgency_flag(), handle_net_wm_state_change(), tree_close_internal(), workspace_defer_update_urgent_hint_cb(), workspace_show(), workspace_update_urgent_flag(), and x_draw_decoration().
| struct Window* Con::window |
Definition at line 742 of file data.h.
Referenced by _con_attach(), _con_move_to_con(), _get_sticky(), cmd_criteria_match_windows(), cmd_resize(), cmd_resize_floating(), cmd_resize_set(), cmd_sticky(), cmd_title_format(), cmd_title_window_icon(), con_accepts_window(), con_by_window_id(), con_find_transient_for_window(), con_get_tree_representation(), con_has_managed_window(), con_merge_into(), con_parse_title_format(), con_set_fullscreen_mode(), con_set_urgency(), dump_node(), ewmh_update_wm_desktop_recursively(), fake_absolute_configure_notify(), floating_check_size(), floating_enable(), floating_resize(), floating_set_hint_atom(), free_configuration(), fullscreen_blocks_floating_render(), handle_button_press(), handle_class_change(), handle_client_message(), handle_clientleader_change(), handle_configure_request(), handle_focus_in(), handle_hints(), handle_machine_change(), handle_motif_hints_change(), handle_motion_notify(), handle_net_wm_state_change(), handle_normal_hints(), handle_strut_partial_change(), handle_transient_for(), handle_window_type(), handle_windowicon_change(), handle_windowname_change(), handle_windowname_change_legacy(), handle_windowrole_change(), ipc_send_window_event(), manage_window(), match_matches_window(), move_content(), open_placeholder_window(), placeholder_for_con(), property_notify(), regrab_all_buttons(), remanage_window(), render_con(), restore_geometry(), set_hidden_state(), set_maximized_state(), set_shape_state(), tree_close_internal(), tree_flatten(), workspace_reassign_sticky(), x_draw_decoration(), x_push_changes(), x_push_node(), x_push_node_unmaps(), x_set_shape(), x_shape_frame(), and x_unshape_frame().
| int Con::window_icon_padding |
Whether the window icon should be displayed, and with what padding.
-1 means display no window icon (default behavior), 0 means display without any padding, 1 means display with 1 pixel of padding and so on.
Definition at line 724 of file data.h.
Referenced by cmd_title_window_icon(), dump_node(), json_int(), and x_draw_decoration().
| struct Rect Con::window_rect |
Definition at line 709 of file data.h.
Referenced by con_swap(), dump_node(), fake_absolute_configure_notify(), json_int(), render_con(), restore_geometry(), tiling_resize(), x_draw_decoration(), x_push_node(), and x_shape_frame().
| layout_t Con::workspace_layout |
Definition at line 779 of file data.h.
Referenced by _con_attach(), con_set_layout(), create_workspace_on_output(), dump_node(), json_string(), tree_split(), workspace_attach_to(), and workspace_get().