+ObClient *client_search_modal_child(ObClient *self);
+
+ObClient *client_search_top_transient(ObClient *self);
+
+/*! Search for a parent of a client. This only searches up *ONE LEVEL*, and
+ returns the searched for parent if it is a parent, or NULL if not. */
+ObClient *client_search_parent(ObClient *self, ObClient *search);
+
+/*! Search for a transient of a client. The transient is returned if it is one,
+ NULL is returned if the given search is not a transient of the client. */
+ObClient *client_search_transient(ObClient *self, ObClient *search);
+
+/*! Return the "closest" client in the given direction */
+ObClient *client_find_directional(ObClient *c, ObDirection dir);
+
+/*! Return the closest edge in the given direction */
+int client_directional_edge_search(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);
+
+/*! Set a client window to have decorations or not */
+void client_set_undecorated(ObClient *self, gboolean undecorated);
+
+guint client_monitor(ObClient *self);
+
+void client_update_sm_client_id(ObClient *self);
+
+ObClient* client_under_pointer();
+
+gboolean client_has_group_siblings(ObClient *self);