#include "client.h"
#include "geom.h"
#include "moveresize.h"
-#include "render/render.h"
-#include "obt/parse.h"
+#include "obrender/render.h"
+#include "obt/xml.h"
#include <glib.h>
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;
gint shade;
gint decor;
gint focus;
+ ObAppSettingsMonitor monitor_type;
gint monitor;
gint iconic;
gint skip_pager;
/*! 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;
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 guint config_desktops_num;
/*! 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;
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(ObtParseInst *i);
+void config_startup(ObtXmlInst *i);
void config_shutdown(void);
/*! Create an ObAppSettings structure with the default values */
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