]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.h
remove debug prints
[chaz/openbox] / openbox / client.h
index dba6786e48dda7f393a31fa2b9bb789573def4f0..b28acab2dbe77aca7999128c095142b840c7232b 100644 (file)
@@ -12,6 +12,7 @@
 
 struct _ObFrame;
 struct _ObGroup;
+struct _ObSessionState;
 
 typedef struct _ObClient     ObClient;
 typedef struct _ObClientIcon ObClientIcon;
@@ -67,6 +68,10 @@ struct _ObClient
 
     /*! The id of the group the window belongs to */
     struct _ObGroup *group;
+
+    /*! Saved session data to apply to this client */
+    struct _ObSessionState *session;
+
     /*! Whether or not the client is a transient window. This is guaranteed to 
       be TRUE if transient_for != NULL, but not guaranteed to be FALSE if
       transient_for == NULL. */
@@ -238,6 +243,11 @@ extern GList *client_list;
 void client_startup();
 void client_shutdown();
 
+typedef void (*ObClientDestructorFunc)(ObClient *c);
+
+void client_add_destructor(ObClientDestructorFunc func);
+void client_remove_destructor(ObClientDestructorFunc func);
+
 /*! Manages all existing windows */
 void client_manage_all();
 /*! Manages a given window */
@@ -263,6 +273,16 @@ gboolean client_normal(ObClient *self);
 /* Returns if the window is focused */
 gboolean client_focused(ObClient *self);
 
+#define client_move(self, x, y) \
+  client_configure(self, OB_CORNER_TOPLEFT, x, y, \
+                   self->area.width, self->area.height, \
+                   TRUE, TRUE)
+#define client_resize(self, w, h) \
+  client_configure(self, OB_CORNER_TOPLEFT, self->area.x, self->area.y, \
+                   w, h, TRUE, TRUE)
+#define client_move_resize(self, x, y, w, h) \
+  client_configure(self, OB_CORNER_TOPLEFT, x, y, w, h, TRUE, TRUE)
+
 #define client_configure(self, anchor, x, y, w, h, user, final) \
   client_configure_full(self, anchor, x, y, w, h, user, final, FALSE)
 
@@ -395,8 +415,11 @@ gboolean client_focus(ObClient *self);
 void client_unfocus(ObClient *self);
 
 /*! Activates the client for use, focusing, uniconifying it, etc. To be used
-  when the user deliberately selects a window for use. */
-void client_activate(ObClient *self);
+  when the user deliberately selects a window for use.
+  @param here If true, then the client is brought to the current desktop;
+              otherwise, the desktop is changed to where the client lives.
+*/
+void client_activate(ObClient *self, gboolean here);
 
 /*! Calculates the stacking layer for the client window */
 void client_calc_layer(ObClient *self);
This page took 0.021295 seconds and 4 git commands to generate.