]> Dogcows Code - chaz/openbox/blobdiff - openbox/client.h
update copyright step 2
[chaz/openbox] / openbox / client.h
index 5942eb14db0d80fc1177d6895029e4c2646620da..41531979ddf34a1bee854763dd9c17cae1aafa36 100644 (file)
@@ -1,6 +1,7 @@
 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
 
    client.h for the Openbox window manager
+   Copyright (c) 2006        Mikael Magnusson
    Copyright (c) 2003        Ben Jansens
 
    This program is free software; you can redistribute it and/or modify
@@ -32,8 +33,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 +203,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 +271,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);
@@ -324,11 +354,11 @@ gboolean client_focused(ObClient *self);
   @param h The height component of the new size for the client.
   @param user Specifies whether this is a user-requested change or a
               program requested change. For program requested changes, the
-             constraints are not checked.
+              constraints are not checked.
   @param final If user is true, then this should specify if this is a final
                configuration. e.g. Final should be FALSE if doing an
-              interactive move/resize, and then be TRUE for the last call
-              only.
+               interactive move/resize, and then be TRUE for the last call
+               only.
   @param force_reply Send a ConfigureNotify to the client regardless of if
                      the position changed.
 */
@@ -484,7 +514,7 @@ void client_update_normal_hints(ObClient *self);
 /*! Updates the WMHints and adjusts things if they change
   @param initstate Whether to read the initial_state property from the
                    WMHints. This should only be used during the mapping
-                  process.
+                   process.
 */
 void client_update_wmhints(ObClient *self);
 /*! Updates the window's title and icon title */
This page took 0.021878 seconds and 4 git commands to generate.