Add "active" and "primary" options to the <monitor> placement option for per-app...
[mikachu/openbox.git] / openbox / config.h
index 1825f47..1802179 100644 (file)
 
 typedef struct _ObAppSettings ObAppSettings;
 
+typedef enum {
+    OB_APP_SETTINGS_MONITOR_FIXED,
+    OB_APP_SETTINGS_MONITOR_PRIMARY,
+    OB_APP_SETTINGS_MONITOR_ACTIVE,
+    OB_APP_SETTINGS_MONITOR_MOUSE
+} ObAppSettingsMonitor;
+
 struct _ObAppSettings
 {
     GPatternSpec *class;
     GPatternSpec *name;
     GPatternSpec *role;
+    GPatternSpec *title;
     ObClientType  type;
 
     GravityPoint position;
@@ -48,6 +56,7 @@ struct _ObAppSettings
     gint shade;
     gint decor;
     gint focus;
+    ObAppSettingsMonitor monitor_type;
     gint monitor;
     gint iconic;
     gint skip_pager;
@@ -179,6 +188,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 +205,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 +223,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