]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.h
i hope this is the right stuff to change
[chaz/openbox] / openbox / client.h
index 10402914c68973796e18c90bc35377fa84780dbc..5f654d7eb35a5e15c1b4d6a25a25cc99e1d17825 100644 (file)
@@ -32,8 +32,9 @@ struct _ObFrame;
 struct _ObGroup;
 struct _ObSessionState;
 
-typedef struct _ObClient     ObClient;
-typedef struct _ObClientIcon ObClientIcon;
+typedef struct _ObClient      ObClient;
+typedef struct _ObClientIcon  ObClientIcon;
+typedef struct _ObAppSettings ObAppSettings;
 
 /* The value in client.transient_for indicating it is a transient for its
    group instead of for a single window */
@@ -201,9 +202,11 @@ struct _ObClient
     /*! True if the client supports the delete_window protocol */
     gboolean delete_window;
   
-    /*! Was the window's position requested by the application? if not, we
+    /*! Was the window's position requested by the application or the user?
+      if by the application, we force it completely onscreen, if by the user
+      we only force it if it tries to go completely offscreen, if neither, we
       should place the window ourselves when it first appears */
-    gboolean positioned;
+    guint positioned;
   
     /*! Can the window receive input focus? */
     gboolean can_focus;
@@ -267,6 +270,32 @@ struct _ObClient
     guint nicons;
 };
 
+struct _ObAppSettings
+{
+    gchar *class;
+    gchar *name;
+    gchar *role;
+
+    Point position;
+    gboolean center_x;
+    gboolean center_y;
+    gboolean pos_given;
+
+    guint desktop;
+    gint shade;
+    gint decor;
+    gint focus;
+    gint head;
+    gint iconic;
+    gint skip_pager;
+    gint skip_taskbar;
+    gint max_horz;
+    gint max_vert;
+    gint fullscreen;
+
+    gint layer;
+};
+
 extern GList *client_list;
 
 void client_startup(gboolean reconfig);
This page took 0.024345 seconds and 4 git commands to generate.