* ewmh.c: Get/set certain EWMH properties easily.
*
*/
-#ifndef I3_EWMH_C
-#define I3_EWMH_C
+#pragma once
/**
* Updates _NET_CURRENT_DESKTOP with the current desktop number.
*/
void ewmh_update_current_desktop(void);
+/**
+ * Updates _NET_NUMBER_OF_DESKTOPS which we interpret as the number of
+ * noninternal workspaces.
+ */
+void ewmh_update_number_of_desktops(void);
+
+/**
+ * Updates _NET_DESKTOP_NAMES: "The names of all virtual desktops. This is a
+ * list of NULL-terminated strings in UTF-8 encoding"
+ */
+void ewmh_update_desktop_names(void);
+
+/**
+ * Updates _NET_DESKTOP_VIEWPORT, which is an array of pairs of cardinals that
+ * define the top left corner of each desktop's viewport.
+ */
+void ewmh_update_desktop_viewport(void);
+
/**
* Updates _NET_ACTIVE_WINDOW with the currently focused window.
*
*/
void ewmh_update_active_window(xcb_window_t window);
+/**
+ * Updates the _NET_CLIENT_LIST hint. Used for window listers.
+ */
+void ewmh_update_client_list(xcb_window_t *list, int num_windows);
+
/**
* Updates the _NET_CLIENT_LIST_STACKING hint. Necessary to move tabs in
* Chromium correctly.
*
*/
void ewmh_update_workarea(void);
-
-#endif