Allow application rules to control window size (Fix bug 4661)
[dana/openbox.git] / openbox / place.h
index 0237232..3bc679e 100644 (file)
@@ -1,7 +1,8 @@
 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
 
    place.h for the Openbox window manager
-   Copyright (c) 2003        Ben Jansens
+   Copyright (c) 2006        Mikael Magnusson
+   Copyright (c) 2003-2007   Dana Jansens
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 #ifndef ob__place_h
 #define ob__place_h
 
+#include "geom.h"
+
 #include <glib.h>
 
 struct _ObClient;
-
-void place_client(ObClient *client, gint *x, gint *y);
+struct _ObAppSettings;
+
+typedef enum
+{
+    OB_PLACE_POLICY_SMART,
+    OB_PLACE_POLICY_MOUSE
+} ObPlacePolicy;
+
+typedef enum
+{
+    OB_PLACE_MONITOR_ANY,
+    OB_PLACE_MONITOR_ACTIVE,
+    OB_PLACE_MONITOR_MOUSE,
+    OB_PLACE_MONITOR_PRIMARY
+} ObPlaceMonitor;
+
+/*! Return TRUE if openbox chose the position for the window, and FALSE if
+  the application chose it */
+gboolean place_client(struct _ObClient *client,
+                      gboolean client_to_be_foregrounded,
+                      Rect* client_area, struct _ObAppSettings *settings);
 
 #endif