]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.h
comparing strings to random locations in memory is probably not what we wanted to do
[chaz/openbox] / openbox / client.h
index b418964dcedc9c98e1844dcc2f96cfc910b35547..a01c2b0f6083aad80c84105a683f9e23f9cd47ff 100644 (file)
@@ -397,12 +397,8 @@ void client_move_onscreen(ObClient *self, gboolean rude);
 /*! Fullscreen's or unfullscreen's the client window
   @param fs true if the window should be made fullscreen; false if it should
             be returned to normal state.
-  @param savearea true to have the client's current size and position saved;
-                  otherwise, they are not. You should not save when mapping a
-                  new window that is set to fullscreen. This has no effect
-                  when restoring a window from fullscreen.
 */
-void client_fullscreen(ObClient *self, gboolean fs, gboolean savearea);
+void client_fullscreen(ObClient *self, gboolean fs);
 
 /*! Iconifies or uniconifies the client window
   @param iconic true if the window should be iconified; false if it should be
@@ -417,13 +413,8 @@ void client_iconify(ObClient *self, gboolean iconic, gboolean curdesk);
   @param max true if the window should be maximized; false if it should be
              returned to normal size.
   @param dir 0 to set both horz and vert, 1 to set horz, 2 to set vert.
-  @param savearea true to have the client's current size and position saved;
-                  otherwise, they are not. You should not save when mapping a
-                  new window that is set to fullscreen. This has no effect
-                  when unmaximizing a window.
 */
-void client_maximize(ObClient *self, gboolean max, gint dir,
-                     gboolean savearea);
+void client_maximize(ObClient *self, gboolean max, gint dir);
 
 /*! Shades or unshades the client window
   @param shade true if the window should be shaded; false if it should be
@@ -445,6 +436,11 @@ void client_kill(ObClient *self);
          desktop has been changed. Generally this should be FALSE. */
 void client_set_desktop(ObClient *self, guint target, gboolean donthide);
 
+/*! Show the client if it should be shown, and hide it if it should be
+  hidden. This is for example, when switching desktops.
+*/
+void client_showhide(ObClient *self);
+
 /*! Validate client, by making sure no Destroy or Unmap events exist in
   the event queue for the window.
   @return true if the client is valid; false if the client has already
@@ -472,7 +468,9 @@ ObClient *client_focus_target(ObClient *self);
   without focusing it or modifying the focus order lists. */
 gboolean client_can_focus(ObClient *self);
 
-/*! Attempt to focus the client window */
+/*! Attempt to focus the client window
+  NOTE: You should validate the client before calling this !! (client_validate)
+*/
 gboolean client_focus(ObClient *self);
 
 /*! Remove focus from the client window */
@@ -575,7 +573,15 @@ ObClient *client_search_modal_child(ObClient *self);
   It will only contain more than 1 element if the client is transient for its
   group.
 */
-GSList *client_search_top_transients(ObClient *self);
+GSList *client_search_all_top_parents(ObClient *self);
+
+/*! Returns a window's top level parent. This only counts direct parents,
+  not groups if it is transient for its group.
+*/
+ObClient *client_search_top_parent(ObClient *self);
+
+/*! Is one client a direct child of another (i.e. not through the group.) */
+gboolean client_is_direct_child(ObClient *parent, ObClient *child);
 
 /*! 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. */
This page took 0.021117 seconds and 4 git commands to generate.