|
i3
|

Go to the source code of this file.
Macros | |
| #define | I3__FILE__ "ewmh.c" |
| #define | xmacro(atom) A_##atom, |
Functions | |
| void | ewmh_update_current_desktop (void) |
| Updates _NET_CURRENT_DESKTOP with the current desktop number. More... | |
| void | ewmh_update_number_of_desktops (void) |
| Updates _NET_NUMBER_OF_DESKTOPS which we interpret as the number of noninternal workspaces. More... | |
| void | ewmh_update_desktop_names (void) |
| Updates _NET_DESKTOP_NAMES: "The names of all virtual desktops. More... | |
| void | ewmh_update_desktop_viewport (void) |
| Updates _NET_DESKTOP_VIEWPORT, which is an array of pairs of cardinals that define the top left corner of each desktop's viewport. More... | |
| void | ewmh_update_active_window (xcb_window_t window) |
| Updates _NET_ACTIVE_WINDOW with the currently focused window. More... | |
| void | ewmh_update_workarea (void) |
| i3 currently does not support _NET_WORKAREA, because it does not correspond to i3’s concept of workspaces. More... | |
| void | ewmh_update_client_list (xcb_window_t *list, int num_windows) |
| Updates the _NET_CLIENT_LIST hint. More... | |
| void | ewmh_update_client_list_stacking (xcb_window_t *stack, int num_windows) |
| Updates the _NET_CLIENT_LIST_STACKING hint. More... | |
| void | ewmh_setup_hints (void) |
| Set up the EWMH hints on the root window. More... | |
| #define xmacro | ( | atom | ) | A_##atom, |
| void ewmh_setup_hints | ( | void | ) |
Set up the EWMH hints on the root window.
Definition at line 206 of file ewmh.c.
References conn, root, XCB_ATOM_ATOM, and XCB_ATOM_WINDOW.
Referenced by main().
| void ewmh_update_active_window | ( | xcb_window_t | window | ) |
Updates _NET_ACTIVE_WINDOW with the currently focused window.
EWMH: The window ID of the currently active window or None if no window has the focus.
Definition at line 146 of file ewmh.c.
References conn, root, and XCB_ATOM_WINDOW.
Referenced by x_push_changes().
| void ewmh_update_client_list | ( | xcb_window_t * | list, |
| int | num_windows | ||
| ) |
Updates the _NET_CLIENT_LIST hint.
Used for window listers.
Definition at line 174 of file ewmh.c.
References conn, root, and XCB_ATOM_WINDOW.
Referenced by x_push_changes().
| void ewmh_update_client_list_stacking | ( | xcb_window_t * | stack, |
| int | num_windows | ||
| ) |
Updates the _NET_CLIENT_LIST_STACKING hint.
Necessary to move tabs in Chromium correctly.
EWMH: These arrays contain all X Windows managed by the Window Manager. _NET_CLIENT_LIST has initial mapping order, starting with the oldest window. _NET_CLIENT_LIST_STACKING has bottom-to-top stacking order. These properties SHOULD be set and updated by the Window Manager.
Definition at line 190 of file ewmh.c.
References conn, root, and XCB_ATOM_WINDOW.
Referenced by x_push_changes().
| void ewmh_update_current_desktop | ( | void | ) |
Updates _NET_CURRENT_DESKTOP with the current desktop number.
EWMH: The index of the current desktop. This is always an integer between 0 and _NET_NUMBER_OF_DESKTOPS - 1.
Definition at line 21 of file ewmh.c.
References con_get_workspace(), conn, croot, focused, Con::name, output_get_content(), root, STARTS_WITH, TAILQ_FOREACH, and XCB_ATOM_CARDINAL.
Referenced by _workspace_show(), cmd_rename_workspace(), and main().

| void ewmh_update_desktop_names | ( | void | ) |
Updates _NET_DESKTOP_NAMES: "The names of all virtual desktops.
This is a list of NULL-terminated strings in UTF-8 encoding"
Definition at line 68 of file ewmh.c.
References conn, croot, Con::name, output_get_content(), root, STARTS_WITH, and TAILQ_FOREACH.
Referenced by _workspace_show(), cmd_rename_workspace(), main(), and workspace_get().

| void ewmh_update_desktop_viewport | ( | void | ) |
Updates _NET_DESKTOP_VIEWPORT, which is an array of pairs of cardinals that define the top left corner of each desktop's viewport.
Definition at line 106 of file ewmh.c.
References conn, croot, Con::name, output_get_content(), Con::rect, root, STARTS_WITH, TAILQ_FOREACH, Rect::x, XCB_ATOM_CARDINAL, and Rect::y.
Referenced by _workspace_show(), cmd_rename_workspace(), main(), and workspace_get().

| void ewmh_update_number_of_desktops | ( | void | ) |
Updates _NET_NUMBER_OF_DESKTOPS which we interpret as the number of noninternal workspaces.
Definition at line 47 of file ewmh.c.
References conn, croot, Con::name, output_get_content(), root, STARTS_WITH, TAILQ_FOREACH, and XCB_ATOM_CARDINAL.
Referenced by _workspace_show(), main(), and workspace_get().

| void ewmh_update_workarea | ( | void | ) |
i3 currently does not support _NET_WORKAREA, because it does not correspond to i3’s concept of workspaces.
See also: http://bugs.i3wm.org/539 http://bugs.i3wm.org/301 http://bugs.i3wm.org/1038
We need to actively delete this property because some display managers (e.g. LightDM) set it.
EWMH: Contains a geometry for each desktop. These geometries specify an area that is completely contained within the viewport. Work area SHOULD be used by desktop applications to place desktop icons appropriately.
Definition at line 166 of file ewmh.c.
Referenced by main().
1.8.9.1