+Icon *client_icon(Client *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.
+*/
+Client *client_search_focus_tree(Client *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.
+*/
+Client *client_search_focus_tree_full(Client *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.
+*/
+Client *client_search_modal_child(Client *self);
+
+/*! Return the "closest" client in the given direction */
+Client *client_find_directional(Client *c, Direction 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(Client *self, int layer);
+
+guint client_xinerama_area(Client *self);
+