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
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.
/* 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();
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.
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);
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