OB_CLIENT_FUNC_FULLSCREEN = 1 << 5, /*!< Allow to be made fullscreen */
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 */
+ OB_CLIENT_FUNC_BELOW = 1 << 8, /*!< Allow to be put in higher layer */
+ OB_CLIENT_FUNC_UNDECORATE = 1 << 9 /*!< Allow to be undecorated */
} ObFunctions;
struct _ObClient
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();
/*! Manages a given window
gint w, gint h);
#define client_move(self, x, y) \
- client_configure(self, x, y, self->area.width, self->area.height, \
- TRUE, TRUE)
+ client_configure(self, x, y, self->area.width, self->area.height, TRUE, TRUE)
#define client_resize(self, w, h) \
client_configure(self, self->area.x, self->area.y, w, h, TRUE, TRUE)
#define client_move_resize(self, x, y, w, h) \
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)
-
/*! Figure out where a window will end up and what size it will be if you
told it to move/resize to these coordinates.
@param force_reply Send a ConfigureNotify to the client regardless of if
the position changed.
*/
-void client_configure_full(ObClient *self, gint x, gint y, gint w, gint h,
- gboolean user, gboolean final);
+void client_configure(ObClient *self, gint x, gint y, gint w, gint h,
+ gboolean user, gboolean final);
void client_reconfigure(ObClient *self);
*/
void client_set_desktop(ObClient *self, guint target, gboolean donthide);
-/*! Show the client if it should be shown. */
-void client_show(ObClient *self);
+/*! Show the client if it should be shown. Returns if the window is shown. */
+gboolean client_show(ObClient *self);
-/*! Show the client if it should be shown. */
-void client_hide(ObClient *self);
+/*! Show the client if it should be shown. Returns if the window is hidden. */
+gboolean client_hide(ObClient *self);
/*! Show the client if it should be shown, and hide it if it should be
hidden. This is for example, when switching desktops.
without focusing it or modifying the focus order lists. */
gboolean client_can_focus(ObClient *self);
-/*! Attempt to focus the client window
- NOTE: You should validate the client before calling this !! (client_validate)
-*/
+/*! Attempt to focus the client window */
gboolean client_focus(ObClient *self);
/*! Activates the client for use, focusing, uniconifying it, etc. To be used