i3
|
#include "all.h"
Go to the source code of this file.
Data Structures | |
struct | placeholder_state |
Macros | |
#define | TEXT_PADDING logical_px(2) |
#define | APPEND_REGEX(re_name) |
Typedefs | |
typedef struct placeholder_state | placeholder_state |
Functions | |
static | TAILQ_HEAD (state_head, placeholder_state) |
static void | restore_xcb_prepare_cb (EV_P_ ev_prepare *w, int revents) |
void | restore_connect (void) |
Opens a separate connection to X11 for placeholder windows when restoring layouts. | |
static void | update_placeholder_contents (placeholder_state *state) |
static void | open_placeholder_window (Con *con) |
void | restore_open_placeholder_windows (Con *parent) |
Open placeholder windows for all children of parent. | |
bool | restore_kill_placeholder (xcb_window_t placeholder) |
Kill the placeholder window, if placeholder refers to a placeholder window. | |
static void | expose_event (xcb_expose_event_t *event) |
static void | configure_notify (xcb_configure_notify_event_t *event) |
static void | restore_handle_event (int type, xcb_generic_event_t *event) |
#define APPEND_REGEX | ( | re_name | ) |
Referenced by update_placeholder_contents().
#define TEXT_PADDING logical_px(2) |
Definition at line 18 of file restore_layout.c.
Referenced by update_placeholder_contents().
typedef struct placeholder_state placeholder_state |
|
static |
Definition at line 312 of file restore_layout.c.
References DLOG, draw_util_surface_set_size(), ELOG, state, TAILQ_FOREACH, and update_placeholder_contents().
Referenced by restore_handle_event().
|
static |
Definition at line 289 of file restore_layout.c.
References DLOG, ELOG, state, TAILQ_FOREACH, and update_placeholder_contents().
Referenced by restore_handle_event().
|
static |
Definition at line 185 of file restore_layout.c.
References con_is_leaf(), create_window(), DLOG, Match::dock, draw_util_surface_init(), get_visualtype(), Match::id, Window::id, match_init(), Con::name, open_placeholder_window(), Con::rect, root_screen, scalloc(), smalloc(), state, TAILQ_EMPTY, TAILQ_FOREACH, TAILQ_INSERT_HEAD, TAILQ_INSERT_TAIL, Con::type, update_placeholder_contents(), Con::window, and XCURSOR_CURSOR_POINTER.
Referenced by open_placeholder_window(), and restore_open_placeholder_windows().
void restore_connect | ( | void | ) |
Opens a separate connection to X11 for placeholder windows when restoring layouts.
This is done as a safety measure (users can xkill a placeholder window without killing their window manager) and for better isolation, both on the wire to X11 and thus also in the code.
Definition at line 85 of file restore_layout.c.
References main_loop, restore_xcb_prepare_cb(), scalloc(), state, TAILQ_EMPTY, TAILQ_FIRST, TAILQ_REMOVE, and xcb_prepare.
Referenced by main(), and restore_xcb_prepare_cb().
|
static |
Definition at line 335 of file restore_layout.c.
References configure_notify(), DLOG, and expose_event().
Referenced by restore_xcb_prepare_cb().
bool restore_kill_placeholder | ( | xcb_window_t | placeholder | ) |
Kill the placeholder window, if placeholder refers to a placeholder window.
This function is called when manage.c puts a window into an existing container. In order not to leak resources, we need to destroy the window and all associated X11 objects (pixmap/gc).
Definition at line 270 of file restore_layout.c.
References DLOG, draw_util_surface_free(), state, TAILQ_FOREACH, and TAILQ_REMOVE.
Referenced by manage_window(), and remanage_window().
void restore_open_placeholder_windows | ( | Con * | con | ) |
Open placeholder windows for all children of parent.
The placeholder window will vanish as soon as a real window is swallowed by the container. Until then, it exposes the criteria that must be fulfilled for a window to be swallowed by this container.
Definition at line 251 of file restore_layout.c.
References open_placeholder_window(), and TAILQ_FOREACH.
Referenced by cmd_append_layout(), and tree_restore().
|
static |
Definition at line 49 of file restore_layout.c.
References DLOG, restore_connect(), and restore_handle_event().
Referenced by restore_connect().
|
static |
Definition at line 35 of file restore_layout.c.
|
static |
Definition at line 130 of file restore_layout.c.
References APPEND_REGEX, Colortriple::background, Config::client, config, DLOG, draw_util_clear_surface(), draw_util_text(), Config::font, Font::height, i3string_free(), i3string_from_utf8(), Config::config_client::placeholder, predict_text_width(), sasprintf(), state, TAILQ_FOREACH, Colortriple::text, TEXT_PADDING, and y.
Referenced by configure_notify(), expose_event(), and open_placeholder_window().