i3
ewmh.h
Go to the documentation of this file.
1 /*
2  * vim:ts=4:sw=4:expandtab
3  *
4  * i3 - an improved dynamic tiling window manager
5  * © 2009 Michael Stapelberg and contributors (see also: LICENSE)
6  *
7  * ewmh.c: Get/set certain EWMH properties easily.
8  *
9  */
10 #pragma once
11 
12 #include <config.h>
13 
22 
28 
33 void ewmh_update_desktop_names(void);
34 
40 
46 void ewmh_update_wm_desktop(void);
47 
55 void ewmh_update_active_window(xcb_window_t window);
56 
61 void ewmh_update_visible_name(xcb_window_t window, const char *name);
62 
66 void ewmh_update_client_list(xcb_window_t *list, int num_windows);
67 
78 void ewmh_update_client_list_stacking(xcb_window_t *stack, int num_windows);
79 
84 void ewmh_update_sticky(xcb_window_t window, bool sticky);
85 
90 void ewmh_setup_hints(void);
91 
107 void ewmh_update_workarea(void);
108 
116 Con *ewmh_get_workspace_by_index(uint32_t idx);
117 
125 uint32_t ewmh_get_workspace_index(Con *con);
void ewmh_update_active_window(xcb_window_t window)
Updates _NET_ACTIVE_WINDOW with the currently focused window.
Definition: ewmh.c:205
void ewmh_update_desktop_names(void)
Updates _NET_DESKTOP_NAMES: "The names of all virtual desktops.
Definition: ewmh.c:53
A &#39;Con&#39; represents everything from the X11 root window down to a single X11 window.
Definition: data.h:591
void ewmh_update_sticky(xcb_window_t window, bool sticky)
Set or remove _NET_WM_STATE_STICKY on the window.
Definition: ewmh.c:277
void ewmh_update_visible_name(xcb_window_t window, const char *name)
Updates _NET_WM_VISIBLE_NAME.
Definition: ewmh.c:214
void ewmh_update_client_list(xcb_window_t *list, int num_windows)
Updates the _NET_CLIENT_LIST hint.
Definition: ewmh.c:245
Con * ewmh_get_workspace_by_index(uint32_t idx)
Returns the workspace container as enumerated by the EWMH desktop model.
Definition: ewmh.c:337
static struct stack_entry stack[10]
void ewmh_update_workarea(void)
i3 currently does not support _NET_WORKAREA, because it does not correspond to i3’s concept of works...
Definition: ewmh.c:237
void ewmh_update_wm_desktop(void)
Updates _NET_WM_DESKTOP for all windows.
Definition: ewmh.c:182
void ewmh_update_current_desktop(void)
Updates _NET_CURRENT_DESKTOP with the current desktop number.
Definition: ewmh.c:21
void ewmh_update_client_list_stacking(xcb_window_t *stack, int num_windows)
Updates the _NET_CLIENT_LIST_STACKING hint.
Definition: ewmh.c:261
void ewmh_update_desktop_viewport(void)
Updates _NET_DESKTOP_VIEWPORT, which is an array of pairs of cardinals that define the top left corne...
Definition: ewmh.c:91
void ewmh_setup_hints(void)
Set up the EWMH hints on the root window.
Definition: ewmh.c:291
uint32_t ewmh_get_workspace_index(Con *con)
Returns the EWMH desktop index for the workspace the given container is on.
Definition: ewmh.c:367
void ewmh_update_number_of_desktops(void)
Updates _NET_NUMBER_OF_DESKTOPS which we interpret as the number of noninternal workspaces.
Definition: ewmh.c:32