make interactive actions a type and not special cases.
[mikachu/openbox.git] / openbox / config.h
1 #ifndef __config_h
2 #define __config_h
3
4 #include "misc.h"
5 #include "stacking.h"
6
7 #include <glib.h>
8
9 struct _ObParseInst;
10
11 /*! Should new windows be focused */
12 extern gboolean config_focus_new;
13 /*! Focus windows when the mouse enters them */
14 extern gboolean config_focus_follow;
15 /*! Focus the last focused window as a fallback */
16 extern gboolean config_focus_last;
17 /*! Focus the last focused window as a fallback when switching desktops */
18 extern gboolean config_focus_last_on_desktop;
19 /*! The number of slits to create 
20   extern int config_slit_number;*/
21 /*! When true windows' contents are refreshed while they are resized; otherwise
22   they are not updated until the resize is complete */
23 extern gboolean config_redraw_resize;
24
25 /*! The stacking layer the dock will reside in */
26 extern ObStackingLayer config_dock_layer;
27 /*! Is the dock floating */
28 extern gboolean config_dock_floating;
29 /*! Where to place the dock if not floating */
30 extern ObDirection config_dock_pos;
31 /*! If config_dock_floating, this is the top-left corner's
32   position */
33 extern gint config_dock_x;
34 /*! If config_dock_floating, this is the top-left corner's
35   position */
36 extern gint config_dock_y;
37 /*! Whether the dock places the dockapps in it horizontally or vertically */
38 extern ObOrientation config_dock_orient;
39 /*! Whether to auto-hide the dock when the pointer is not over it */
40 extern gboolean config_dock_hide;
41 /*! The number of milliseconds to wait before hiding the dock */
42 extern guint config_dock_hide_timeout;
43
44 /* The name of the theme */
45 char *config_theme;
46
47 /* Titlebar button layout */
48 gchar *config_title_layout;
49
50 /*! The number of desktops */
51 extern int config_desktops_num;
52 /*! Names for the desktops */
53 extern GSList *config_desktops_names;
54
55 /*! The keycode of the key combo which resets the keybaord chains */
56 guint config_keyboard_reset_keycode;
57 /*! The modifiers of the key combo which resets the keybaord chains */
58 guint config_keyboard_reset_state;
59
60 /*! Number of pixels a drag must go before being considered a drag */
61 extern gint config_mouse_threshold;
62 /*! Number of milliseconds within which 2 clicks must occur to be a
63   double-click */
64 extern gint config_mouse_dclicktime;
65
66 /*! Number of pixels to resist while crossing another window's edge */
67 gint config_resist_win;
68 /*! Number of pixels to resist while crossing a screen's edge */
69 gint config_resist_edge;
70
71 /*! User-specified menu files */
72 extern GSList *config_menu_files;
73
74 void config_startup(struct _ObParseInst *i);
75 void config_shutdown();
76
77 #endif