]> Dogcows Code - chaz/openbox/blobdiff - openbox/config.h
use simple pattern matching for per-app settings. all rules that match are applied...
[chaz/openbox] / openbox / config.h
index 5ee071e6540ecba46abf9b3f963f09dc84a2bc83..6a064fffa14e0691dccd5a4ec606ab4b234c3b32 100644 (file)
 #include "misc.h"
 #include "stacking.h"
 #include "place.h"
+#include "geom.h"
 #include "render/render.h"
 
 #include <glib.h>
 
 struct _ObParseInst;
 
+typedef struct _ObAppSettings ObAppSettings;
+
+struct _ObAppSettings
+{
+    GPatternSpec *class;
+    GPatternSpec *name;
+    GPatternSpec *role;
+
+    Point position;
+    gboolean center_x;
+    gboolean center_y;
+    gboolean pos_given;
+
+    guint desktop;
+    gint shade;
+    gint decor;
+    gint focus;
+    gint monitor;
+    gint iconic;
+    gint skip_pager;
+    gint skip_taskbar;
+    gint max_horz;
+    gint max_vert;
+    gint fullscreen;
+
+    gint layer;
+};
+
 /*! Should new windows be focused */
 extern gboolean config_focus_new;
 /*! Focus windows when the mouse enters them */
@@ -46,9 +75,6 @@ extern ObPlacePolicy config_place_policy;
 /*! When true windows' contents are refreshed while they are resized; otherwise
   they are not updated until the resize is complete */
 extern gboolean config_resize_redraw;
-/*! Divide windows in 4 or 9 areas when doing a resize. The middle will be move
-  when selecting 9 corners */
-extern gboolean config_resize_four_corners;
 /*! show move/resize popups? 0 = no, 1 = always, 2 = only
   resizing !1 increments */
 extern gint config_resize_popup_show;
@@ -87,10 +113,10 @@ extern gchar *config_theme;
 
 /*! Show the one-pixel border after toggleDecor */
 extern gboolean config_theme_keepborder;
-/*! Hide window frame buttons that the window doesn't allow */
-extern gboolean config_theme_hidedisabled;
 /*! Titlebar button layout */
 extern gchar *config_title_layout;
+/*! Animate windows iconifying and restoring */
+extern gboolean config_animate_iconify;
 
 /*! The font for the active window's title */
 extern RrFont *config_font_activewindow;
@@ -100,6 +126,8 @@ 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 number of desktops */
 extern gint config_desktops_num;
@@ -123,11 +151,7 @@ extern gint config_mouse_dclicktime;
 extern gint config_resist_win;
 /*! Number of pixels to resist while crossing a screen's edge */
 extern gint config_resist_edge;
-/*! Should windows resist edges at layers below */
-extern gboolean config_resist_layers_below;
 
-/*! Warp near edge on menu? */
-extern gboolean config_menu_warppointer;
 /*! delay for hiding menu when opening */
 extern guint    config_menu_hide_delay;
 /*! Center menus vertically about the parent entry */
@@ -144,4 +168,12 @@ extern GSList *config_per_app_settings;
 void config_startup(struct _ObParseInst *i);
 void config_shutdown();
 
+/*! Create an ObAppSettings structure with the default values */
+ObAppSettings* config_create_app_settings();
+/*! 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
This page took 0.023916 seconds and 4 git commands to generate.