+void client_setup_decor_and_functions(ObClient *self);
+
+/*! Retrieves the window's type and sets ObClient->type */
+void client_get_type(ObClient *self);
+
+ObClientIcon *client_icon(ObClient *self, int w, int h);
+
+/*! Searches a client's transients for a focused window. The function does not
+ check for the passed client, only for its transients.
+ If no focused transient is found, NULL is returned.
+*/
+ObClient *client_search_focus_tree(ObClient *self);
+
+/*! Searches a client's transient tree for a focused window. The function
+ searches up the tree and down other branches as well as the passed client's.
+ If no focused client is found, NULL is returned.
+*/
+ObClient *client_search_focus_tree_full(ObClient *self);
+
+/*! Return a modal child of the client window that can be focused.
+ @return A modal child of the client window that can be focused, or 0 if
+ none was found.
+*/
+ObClient *client_search_modal_child(ObClient *self);
+
+ObClient *client_search_top_transient(ObClient *self);
+
+ObClient *client_search_transient(ObClient *self, ObClient *search);
+
+/*! Return the "closest" client in the given direction */
+ObClient *client_find_directional(ObClient *c, ObDirection dir);
+
+/*! Set a client window to be above/below other clients.
+ @layer < 0 indicates the client should be placed below other clients.<br>
+ = 0 indicates the client should be placed with other clients.<br>
+ > 0 indicates the client should be placed above other clients.
+*/
+void client_set_layer(ObClient *self, int layer);