i3
|
Go to the source code of this file.
Functions | |
TAILQ_HEAD (outputs_head, xoutput) | |
void | randr_init (int *event_base) |
We have just established a connection to the X server and need the initial XRandR information to setup workspaces for each screen. | |
void | disable_randr (xcb_connection_t *conn) |
Disables RandR support by creating exactly one output with the size of the X11 screen. | |
void | output_init_con (Output *output) |
Initializes a CT_OUTPUT Con (searches existing ones from inplace restart before) to use for the given Output. | |
void | init_ws_for_output (Output *output, Con *content) |
Initializes at least one workspace for this output, trying the following steps until there is at least one workspace: | |
void | randr_query_outputs (void) |
Initializes the specified output, assigning the specified workspace to it. | |
Output * | get_first_output (void) |
Returns the first output which is active. | |
Output * | get_output_by_name (const char *name) |
Returns the output with the given name if it is active (!) or NULL. | |
Output * | get_output_containing (int x, int y) |
Returns the active (!) output which contains the coordinates x, y or NULL if there is no output which contains these coordinates. | |
Output * | get_output_most (direction_t direction, Output *current) |
Gets the output which is the last one in the given direction, for example the output on the most bottom when direction == D_DOWN, the output most right when direction == D_RIGHT and so on. | |
Output * | get_output_next (direction_t direction, Output *current) |
Gets the output which is the next one in the given direction. |
Variables | |
struct outputs_head | outputs |
void disable_randr | ( | xcb_connection_t * | conn | ) |
Disables RandR support by creating exactly one output with the size of the X11 screen.
Definition at line 192 of file randr.c.
References xoutput::active, xoutput::con, DLOG, Rect::height, init_ws_for_output(), xoutput::name, output_get_content(), output_init_con(), outputs, randr_disabled, xoutput::rect, root_screen, scalloc(), TAILQ_INSERT_TAIL, Rect::width, Rect::x, and Rect::y.
Referenced by randr_init(), randr_query_outputs(), and xinerama_init().
Output* get_first_output | ( | void | ) |
Returns the first output which is active.
Definition at line 63 of file randr.c.
References xoutput::active, outputs, and TAILQ_FOREACH.
Referenced by main(), and randr_query_outputs().
Output* get_output_by_name | ( | const char * | name | ) |
Returns the output with the given name if it is active (!) or NULL.
Definition at line 49 of file randr.c.
References xoutput::active, xoutput::name, outputs, and TAILQ_FOREACH.
Referenced by cmd_move_con_to_output(), get_output_from_string(), and init_ws_for_output().
Output* get_output_containing | ( | int | x, |
int | y | ||
) |
Returns the active (!) output which contains the coordinates x, y or NULL if there is no output which contains these coordinates.
Definition at line 78 of file randr.c.
References xoutput::active, DLOG, Rect::height, outputs, xoutput::rect, TAILQ_FOREACH, Rect::width, Rect::x, and Rect::y.
Referenced by _tree_next(), check_crossing_screen_boundary(), cmd_focus_output(), cmd_move_con_to_output(), cmd_move_workspace_to_output(), floating_enable(), floating_maybe_reassign_ws(), floating_reposition(), main(), manage_window(), and x_push_changes().
Output* get_output_most | ( | direction_t | direction, |
Output * | current | ||
) |
Gets the output which is the last one in the given direction, for example the output on the most bottom when direction == D_DOWN, the output most right when direction == D_RIGHT and so on.
This function always returns a output.
Definition at line 101 of file randr.c.
References xoutput::active, D_DOWN, D_LEFT, D_RIGHT, D_UP, outputs, xoutput::rect, TAILQ_FOREACH, WIN, Rect::x, and Rect::y.
Referenced by get_output_from_string().
Output* get_output_next | ( | direction_t | direction, |
Output * | current | ||
) |
Gets the output which is the next one in the given direction.
Definition at line 145 of file randr.c.
References xoutput::active, D_DOWN, D_LEFT, D_RIGHT, D_UP, outputs, xoutput::rect, TAILQ_FOREACH, Rect::x, and Rect::y.
Referenced by _tree_next(), cmd_move_con_to_output(), and get_output_from_string().
Initializes at least one workspace for this output, trying the following steps until there is at least one workspace:
• Move existing workspaces, which are assigned to be on the given output, to the output. • Create the first assigned workspace for this output. • Create the first unused workspace.
Definition at line 321 of file randr.c.
References xoutput::con, con_attach(), con_detach(), con_focus(), con_get_output(), create_workspace_on_output(), croot, DLOG, focused, Con::fullscreen_mode, get_output_by_name(), GREP_FIRST, init_ws_for_output(), LOG, Workspace_Assignment::name, xoutput::name, Con::name, Workspace_Assignment::output, output_get_content(), TAILQ_EMPTY, TAILQ_FIRST, TAILQ_FOREACH, TAILQ_NEXT, workspace_is_visible(), workspace_show(), workspace_show_by_name(), and ws_assignments.
Referenced by disable_randr(), fake_outputs_init(), init_ws_for_output(), query_screens(), and randr_query_outputs().
void output_init_con | ( | Output * | output | ) |
Initializes a CT_OUTPUT Con (searches existing ones from inplace restart before) to use for the given Output.
Definition at line 216 of file randr.c.
References xoutput::con, con_attach(), con_fix_percent(), con_new(), croot, DLOG, Match::dock, FREE, Match::insert_where, Con::layout, match_init(), xoutput::name, Con::name, Con::orientation, xoutput::rect, Con::rect, sasprintf(), scalloc(), sstrdup(), TAILQ_FOREACH, TAILQ_INSERT_TAIL, Con::type, VERT, and x_set_name().
Referenced by disable_randr(), fake_outputs_init(), query_screens(), and randr_query_outputs().
void randr_init | ( | int * | event_base | ) |
We have just established a connection to the X server and need the initial XRandR information to setup workspaces for each screen.
Definition at line 769 of file randr.c.
References conn, disable_randr(), randr_query_outputs(), and root.
Referenced by main().
void randr_query_outputs | ( | void | ) |
Initializes the specified output, assigning the specified workspace to it.
(Re-)queries the outputs via RandR and stores them in the list of outputs.
Definition at line 542 of file randr.c.
References xoutput::active, xoutput::changed, xoutput::con, con_attach(), con_descend_focused(), con_detach(), con_focus(), con_for_window(), con_get_workspace(), conn, croot, die, disable_randr(), DLOG, DONT_KILL_WINDOW, ELOG, floating_fix_coordinates(), focused, FREE, get_first_output(), handle_output(), Rect::height, height, init_ws_for_output(), min(), xoutput::name, Con::name, Workspace_Assignment::output, output_change_mode(), output_get_content(), output_init_con(), outputs, primary, xoutput::primary, randr_disabled, xoutput::rect, Con::rect, root, TAILQ_EMPTY, TAILQ_END, TAILQ_FIRST, TAILQ_FOREACH, TAILQ_NEXT, xoutput::to_be_disabled, tree_close(), tree_render(), Con::type, update_if_necessary(), Rect::width, width, Con::window, workspace_show(), Rect::x, and Rect::y.
Referenced by handle_screen_change(), and randr_init().
TAILQ_HEAD | ( | outputs_head | , |
xoutput | |||
) |
struct outputs_head outputs |
Definition at line 26 of file randr.c.
Referenced by disable_randr(), fake_outputs_init(), get_first_output(), get_output_by_id(), get_output_by_name(), get_output_containing(), get_output_most(), get_output_next(), get_screen_at(), handle_output(), handle_signal(), IPC_HANDLER(), query_screens(), randr_query_outputs(), total_outputs_dimensions(), and xinerama_init().