i3
|
#include "all.h"
Go to the source code of this file.
Data Structures | |
struct | placeholder_state |
Macros | |
#define | I3__FILE__ "restore_layout.c" |
#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) |
static void | restore_xcb_check_cb (EV_P_ ev_check *w, int revents) |
void | restore_connect (void) |
Opens a separate connection to X11 for placeholder windows when restoring layouts. More... | |
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. More... | |
bool | restore_kill_placeholder (xcb_window_t placeholder) |
Kill the placeholder window, if placeholder refers to a placeholder window. More... | |
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 | ) |
#define I3__FILE__ "restore_layout.c" |
Definition at line 2 of file restore_layout.c.
typedef struct placeholder_state placeholder_state |
|
static |
Definition at line 306 of file restore_layout.c.
References placeholder_state::con, DLOG, placeholder_state::gc, Rect::height, placeholder_state::pixmap, placeholder_state::rect, root_depth, state, TAILQ_FOREACH, update_placeholder_contents(), Rect::width, and placeholder_state::window.
Referenced by restore_handle_event().
|
static |
Definition at line 278 of file restore_layout.c.
References placeholder_state::con, DLOG, ELOG, placeholder_state::gc, placeholder_state::pixmap, state, TAILQ_FOREACH, and placeholder_state::window.
Referenced by restore_handle_event().
|
static |
Definition at line 181 of file restore_layout.c.
References Colortriple::background, Config::client, placeholder_state::con, con_is_leaf(), config, create_window(), DLOG, placeholder_state::gc, Rect::height, Window::id, Con::name, placeholder_state::pixmap, Config::config_client::placeholder, placeholder_state::rect, Con::rect, root_depth, scalloc(), state, Rect::width, placeholder_state::window, Con::window, and XCURSOR_CURSOR_POINTER.
Referenced by 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 86 of file restore_layout.c.
References main_loop, restore_xcb_check_cb(), restore_xcb_prepare_cb(), scalloc(), state, TAILQ_EMPTY, TAILQ_FIRST, TAILQ_REMOVE, and xcb_check.
Referenced by main(), and restore_xcb_check_cb().
|
static |
Definition at line 337 of file restore_layout.c.
References configure_notify(), DLOG, and expose_event().
Referenced by restore_xcb_check_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 259 of file restore_layout.c.
References DLOG, placeholder_state::gc, placeholder_state::pixmap, state, TAILQ_FOREACH, TAILQ_REMOVE, and placeholder_state::window.
Referenced by manage_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 240 of file restore_layout.c.
References open_placeholder_window(), and TAILQ_FOREACH.
Referenced by cmd_append_layout().
|
static |
Definition at line 52 of file restore_layout.c.
References DLOG, restore_connect(), and restore_handle_event().
Referenced by restore_connect().
|
static |
Definition at line 48 of file restore_layout.c.
Referenced by restore_connect().
|
static |
Definition at line 33 of file restore_layout.c.
|
static |
Definition at line 126 of file restore_layout.c.
References Colortriple::background, Config::client, config, placeholder_state::gc, and Config::config_client::placeholder.
Referenced by configure_notify().