]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.h
make ob_exit() take an error code. don't exit with 0 for signals other than TERM...
[chaz/openbox] / openbox / client.h
index 758851e1432dc143073b8f76454f6319151c9047..4d6ee56c6d9aef95e160aab234cd37bd85415b07 100644 (file)
@@ -88,6 +88,10 @@ struct _ObClient
       desktops) */
     guint desktop;
 
+    /*! The startup id for the startup-notification protocol. This will be
+      NULL if a startup id is not set. */
+    gchar *startup_id;
+
     /*! Normal window title */
     gchar *title;
     /*! The count for the title. When another window with the same title
@@ -102,6 +106,8 @@ struct _ObClient
     gchar *class;
     /*! The specified role of the window, used for identification */
     gchar *role;
+    /*! The session client id for the window. *This can be NULL!* */
+    gchar *sm_client_id;
 
     /*! The type of window (what its function is) */
     ObClientType type;
@@ -240,13 +246,11 @@ struct _ObClient
 
 extern GList *client_list;
 
-void client_startup();
-void client_shutdown();
-
-typedef void (*ObClientDestructorFunc)(ObClient *c);
+void client_startup(gboolean reconfig);
+void client_shutdown(gboolean reconfig);
 
-void client_add_destructor(ObClientDestructorFunc func);
-void client_remove_destructor(ObClientDestructorFunc func);
+void client_add_destructor(GDestroyNotify func);
+void client_remove_destructor(GDestroyNotify func);
 
 /*! Manages all existing windows */
 void client_manage_all();
@@ -273,6 +277,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)
 
@@ -485,6 +499,6 @@ void client_set_layer(ObClient *self, int layer);
 
 guint client_monitor(ObClient *self);
 
-gchar* client_get_sm_client_id(ObClient *self);
+void client_update_sm_client_id(ObClient *self);
 
 #endif
This page took 0.0219 seconds and 4 git commands to generate.