Allow application rules to control window size (Fix bug 4661)
[dana/openbox.git] / openbox / config.h
index 1825f47..87662ab 100644 (file)
@@ -38,16 +38,26 @@ struct _ObAppSettings
     GPatternSpec *class;
     GPatternSpec *name;
     GPatternSpec *role;
+    GPatternSpec *group_class;
+    GPatternSpec *group_name;
+    GPatternSpec *title;
     ObClientType  type;
 
     GravityPoint position;
     gboolean pos_given;
     gboolean pos_force;
 
+    gint width_num;
+    gint width_denom;
+    gint height_num;
+    gint height_denom;
+    gboolean size_given;
+
     guint desktop;
     gint shade;
     gint decor;
     gint focus;
+    ObPlaceMonitor monitor_type;
     gint monitor;
     gint iconic;
     gint skip_pager;
@@ -79,8 +89,6 @@ extern gboolean config_unfocus_leave;
 
 /*! The algorithm to use for placing new windows */
 extern ObPlacePolicy config_place_policy;
-/*! Place windows in the center of the free area */
-extern gboolean config_place_center;
 /*! Place windows on the active monitor (unless they are part of an application
   already on another monitor) */
 extern ObPlaceMonitor config_place_monitor;
@@ -179,6 +187,9 @@ extern gint config_mouse_dclicktime;
 /*! Number of milliseconds that the mouse has to be on the screen edge before
   a screen edge event is triggered */
 extern gint config_mouse_screenedgetime;
+/*! When TRUE, the mouse is warped to the other side of the desktop after
+  switching desktops from bumping the screen edge */
+extern gboolean config_mouse_screenedgewarp;
 
 /*! Number of pixels to resist while crossing another window's edge */
 extern gint config_resist_win;
@@ -193,12 +204,10 @@ extern gboolean config_menu_middle;
 extern guint    config_submenu_show_delay;
 /*! Delay before closing a submenu in milliseconds */
 extern guint    config_submenu_hide_delay;
-/*! Show icons in client_list_menu */
-extern gboolean config_menu_client_list_icons;
 /*! Show manage desktops in client_list_menu */
 extern gboolean config_menu_manage_desktops;
 /*! Load & show icons in user-defined menus */
-extern gboolean config_menu_user_show_icons;
+extern gboolean config_menu_show_icons;
 /*! User-specified menu files */
 extern GSList *config_menu_files;
 /*! Per app settings */
@@ -213,5 +222,10 @@ ObAppSettings* config_create_app_settings(void);
   src. */
 void config_app_settings_copy_non_defaults(const ObAppSettings *src,
                                            ObAppSettings *dest);
+/*! Parses an x geometry style position, with some extensions like ratios
+  and percentages */
+void config_parse_gravity_coord(xmlNodePtr node, GravityCoord *c);
+/*! Parses a rational number or percentage into num and denom */
+void config_parse_relative_number(gchar *s, gint *num, gint *denom);
 
 #endif