Add keyboard/rebindOnMappingNotify option
[dana/openbox.git] / openbox / config.h
index d6295f5..96a66cf 100644 (file)
@@ -38,16 +38,25 @@ 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;
+
     guint desktop;
     gint shade;
     gint decor;
     gint focus;
+    ObPlaceMonitor monitor_type;
     gint monitor;
     gint iconic;
     gint skip_pager;
@@ -170,6 +179,8 @@ extern guint config_desktop_popup_time;
 extern guint config_keyboard_reset_keycode;
 /*! The modifiers of the key combo which resets the keybaord chains */
 extern guint config_keyboard_reset_state;
+/*! Reload the keyboard bindings when the mapping changes */
+extern gboolean config_keyboard_rebind_on_mapping_notify;
 
 /*! Number of pixels a drag must go before being considered a drag */
 extern gint config_mouse_threshold;
@@ -179,6 +190,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;
@@ -191,10 +205,12 @@ 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 */
@@ -209,5 +225,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