]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.h
when using openbox-gnome/kde-session, use a separate config file (rc-gnome/kde.xml)
[chaz/openbox] / openbox / client.h
index 30d40510f509cf83057a6197f2ebadc3009294fa..c4815d4c83e0cfb56b796d5b4a7b771798caa215 100644 (file)
@@ -71,7 +71,9 @@ typedef enum
     OB_CLIENT_FUNC_MAXIMIZE   = 1 << 3, /*!< Allow to be maximized */
     OB_CLIENT_FUNC_SHADE      = 1 << 4, /*!< Allow to be shaded */
     OB_CLIENT_FUNC_FULLSCREEN = 1 << 5, /*!< Allow to be made fullscreen */
-    OB_CLIENT_FUNC_CLOSE      = 1 << 6  /*!< Allow to be closed */
+    OB_CLIENT_FUNC_CLOSE      = 1 << 6, /*!< Allow to be closed */
+    OB_CLIENT_FUNC_ABOVE      = 1 << 7, /*!< Allow to be put in lower layer */
+    OB_CLIENT_FUNC_BELOW      = 1 << 8  /*!< Allow to be put in higher layer */
 } ObFunctions;
 
 struct _ObClient
@@ -166,7 +168,7 @@ struct _ObClient
       The window manager will set this to 0 while the window is being managed,
       but needs to restore it afterwards, so it is saved here.
     */
-    guint border_width;
+    gint border_width;
 
     /*! The minimum aspect ratio the client window can be sized to.
       A value of 0 means this is ignored.
@@ -309,8 +311,12 @@ typedef void (*ObClientCallback)(ObClient *client, gpointer data);
 /* Callback functions */
 
 /*! Get notified when the client is unmanaged */
-void client_add_destructor(ObClientCallback func, gpointer data);
-void client_remove_destructor(ObClientCallback func);
+void client_add_destroy_notify(ObClientCallback func, gpointer data);
+void client_remove_destroy_notify(ObClientCallback func);
+
+/*! Get notified when the client is hidden */
+void client_add_hide_notify(ObClientCallback func, gpointer data);
+void client_remove_hide_notify(ObClientCallback func);
 
 /*! Manages all existing windows */
 void client_manage_all();
@@ -375,7 +381,7 @@ void client_convert_gravity(ObClient *self, gint gravity, gint *x, gint *y,
   client_configure(self, x, y, w, h, TRUE, TRUE)
 
 #define client_configure(self, x, y, w, h, user, final) \
-  client_configure_full(self, x, y, w, h, user, final, FALSE)
+  client_configure_full(self, x, y, w, h, user, final)
 
 /*! Figure out where a window will end up and what size it will be if you
   told it to move/resize to these coordinates.
@@ -417,8 +423,7 @@ void client_try_configure(ObClient *self, gint *x, gint *y, gint *w, gint *h,
                      the position changed.
 */
 void client_configure_full(ObClient *self, gint x, gint y, gint w, gint h,
-                           gboolean user, gboolean final,
-                           gboolean force_reply);
+                           gboolean user, gboolean final);
 
 void client_reconfigure(ObClient *self);
 
@@ -458,7 +463,8 @@ void client_fullscreen(ObClient *self, gboolean fs);
                  be uniconified to the current viewable desktop (true) or to
                  its previous desktop (false)
 */
-void client_iconify(ObClient *self, gboolean iconic, gboolean curdesk);
+void client_iconify(ObClient *self, gboolean iconic, gboolean curdesk,
+                    gboolean hide_animation);
 
 /*! Maximize or unmaximize the client window
   @param max true if the window should be maximized; false if it should be
@@ -550,26 +556,6 @@ void client_bring_helper_windows(ObClient *self);
 /*! Calculates the stacking layer for the client window */
 void client_calc_layer(ObClient *self);
 
-/*! Raises the client to the top of its stacking layer
-  Normally actions call to the client_* functions to make stuff go, but this
-  one is an exception. It just fires off an action, which will be queued.
-  This is because stacking order rules can be changed by focus state, and so
-  any time focus changes you have to wait for it to complete before you can
-  properly restart windows. As such, this only queues an action for later
-  execution, once the focus change has gone through.
-*/
-void client_raise(ObClient *self);
-
-/*! Lowers the client to the bottom of its stacking layer
-  Normally actions call to the client_* functions to make stuff go, but this
-  one is an exception. It just fires off an action, which will be queued.
-  This is because stacking order rules can be changed by focus state, and so
-  any time focus changes you have to wait for it to complete before you can
-  properly restart windows. As such, this only queues an action for later
-  execution, once the focus change has gone through.
-*/
-void client_lower(ObClient *self);
-
 /*! Updates the window's transient status, and any parents of it */
 void client_update_transient_for(ObClient *self);
 /*! Update the protocols that the window supports and adjusts things if they
This page took 0.027042 seconds and 4 git commands to generate.