allow app rules to match windows by their title when mapping
[dana/openbox.git] / openbox / config.h
index 240b04f..818dcc7 100644 (file)
 #include "misc.h"
 #include "stacking.h"
 #include "place.h"
+#include "client.h"
 #include "geom.h"
 #include "moveresize.h"
-#include "render/render.h"
+#include "obrender/render.h"
+#include "obt/xml.h"
 
 #include <glib.h>
 
-struct _ObParseInst;
-
 typedef struct _ObAppSettings ObAppSettings;
 
 struct _ObAppSettings
@@ -38,9 +38,12 @@ struct _ObAppSettings
     GPatternSpec *class;
     GPatternSpec *name;
     GPatternSpec *role;
+    GPatternSpec *title;
+    ObClientType  type;
 
     GravityPoint position;
     gboolean pos_given;
+    gboolean pos_force;
 
     guint desktop;
     gint shade;
@@ -71,6 +74,9 @@ extern gboolean config_focus_last;
 /*! Try keep focus on the window under the mouse when the mouse is not moving
  */
 extern gboolean config_focus_under_mouse;
+/*! Remove focus from windows when the mouse leaves them
+ */
+extern gboolean config_unfocus_leave;
 
 /*! The algorithm to use for placing new windows */
 extern ObPlacePolicy config_place_policy;
@@ -78,7 +84,13 @@ extern ObPlacePolicy config_place_policy;
 extern gboolean config_place_center;
 /*! Place windows on the active monitor (unless they are part of an application
   already on another monitor) */
-extern gboolean config_place_active;
+extern ObPlaceMonitor config_place_monitor;
+
+/*! Place dialogs and stuff on this monitor.  Index starts at 1.  If this is
+  0, then use the config_primary_monitor instead. */
+extern guint config_primary_monitor_index;
+/*! Where to place dialogs and stuff if it is not specified by index. */
+extern ObPlaceMonitor config_primary_monitor;
 
 /*! User-specified margins around the edge of the screen(s) */
 extern StrutPartial config_margins;
@@ -130,6 +142,8 @@ extern gboolean config_theme_keepborder;
 extern gchar *config_title_layout;
 /*! Animate windows iconifying and restoring */
 extern gboolean config_animate_iconify;
+/*! Size of icons in focus switching dialogs */
+extern guint config_theme_window_list_icon_size;
 
 /*! The font for the active window's title */
 extern RrFont *config_font_activewindow;
@@ -139,11 +153,13 @@ extern RrFont *config_font_inactivewindow;
 extern RrFont *config_font_menutitle;
 /*! The font for menu items */
 extern RrFont *config_font_menuitem;
-/*! The font for on-screen-displays/popups */
-extern RrFont *config_font_osd;
+/*! The font for on-screen-displays/popups' active text */
+extern RrFont *config_font_activeosd;
+/*! The font for on-screen-displays/popups' inactive text */
+extern RrFont *config_font_inactiveosd;
 
 /*! The number of desktops */
-extern gint config_desktops_num;
+extern guint config_desktops_num;
 /*! Desktop to start on, put 5 to start in the center of a 3x3 grid */
 extern guint config_screen_firstdesk;
 /*! Names for the desktops */
@@ -176,22 +192,25 @@ extern guint    config_menu_hide_delay;
 extern gboolean config_menu_middle;
 /*! Delay before opening a submenu in milliseconds */
 extern guint    config_submenu_show_delay;
-/*! show icons in client_list_menu */
-extern gboolean config_menu_client_list_icons;
+/*! Delay before closing a submenu in milliseconds */
+extern guint    config_submenu_hide_delay;
+/*! Show manage desktops in client_list_menu */
+extern gboolean config_menu_manage_desktops;
+/*! Load & show icons in user-defined menus */
+extern gboolean config_menu_show_icons;
 /*! User-specified menu files */
 extern GSList *config_menu_files;
 /*! Per app settings */
 extern GSList *config_per_app_settings;
 
-void config_startup(struct _ObParseInst *i);
-void config_shutdown();
+void config_startup(ObtXmlInst *i);
+void config_shutdown(void);
 
 /*! Create an ObAppSettings structure with the default values */
-ObAppSettings* config_create_app_settings();
+ObAppSettings* config_create_app_settings(void);
 /*! Copies any settings in src to dest, if they are their default value in
   src. */
 void config_app_settings_copy_non_defaults(const ObAppSettings *src,
                                            ObAppSettings *dest);
 
-
 #endif