X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fewmh.h;h=2a55ab9fb4ba738b179e14a9b4414f836547b0a8;hb=988cc3ccaf59a0c25d9df47337bb9bd8826f6b31;hp=3b5806285b4f66badec03fd7d2bb513601cb997d;hpb=db62b5a4df3d7ee7ac9363e4c430ea0155abba25;p=i3%2Fi3 diff --git a/include/ewmh.h b/include/ewmh.h index 3b580628..2a55ab9f 100644 --- a/include/ewmh.h +++ b/include/ewmh.h @@ -2,7 +2,7 @@ * vim:ts=4:sw=4:expandtab * * i3 - an improved dynamic tiling window manager - * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE) + * © 2009 Michael Stapelberg and contributors (see also: LICENSE) * * ewmh.c: Get/set certain EWMH properties easily. * @@ -36,6 +36,13 @@ void ewmh_update_desktop_names(void); */ void ewmh_update_desktop_viewport(void); +/** + * Updates _NET_WM_DESKTOP for all windows. + * A request will only be made if the cached value differs from the calculated value. + * + */ +void ewmh_update_wm_desktop(void); + /** * Updates _NET_ACTIVE_WINDOW with the currently focused window. * @@ -45,6 +52,12 @@ void ewmh_update_desktop_viewport(void); */ void ewmh_update_active_window(xcb_window_t window); +/** + * Updates _NET_WM_VISIBLE_NAME. + * + */ +void ewmh_update_visible_name(xcb_window_t window, const char *name); + /** * Updates the _NET_CLIENT_LIST hint. Used for window listers. */ @@ -62,6 +75,12 @@ void ewmh_update_client_list(xcb_window_t *list, int num_windows); */ void ewmh_update_client_list_stacking(xcb_window_t *stack, int num_windows); +/** + * Set or remove _NET_WM_STATE_STICKY on the window. + * + */ +void ewmh_update_sticky(xcb_window_t window, bool sticky); + /** * Set up the EWMH hints on the root window. * @@ -84,3 +103,21 @@ void ewmh_setup_hints(void); * */ void ewmh_update_workarea(void); + +/** + * Returns the workspace container as enumerated by the EWMH desktop model. + * Returns NULL if no workspace could be found for the index. + * + * This is the reverse of ewmh_get_workspace_index. + * + */ +Con *ewmh_get_workspace_by_index(uint32_t idx); + +/** + * Returns the EWMH desktop index for the workspace the given container is on. + * Returns NET_WM_DESKTOP_NONE if the desktop index cannot be determined. + * + * This is the reverse of ewmh_get_workspace_by_index. + * + */ +uint32_t ewmh_get_workspace_index(Con *con);