ObPlacePolicy config_place_policy;
gboolean config_place_center;
+StrutPartial config_margins;
+
gchar *config_theme;
gboolean config_theme_keepborder;
gint config_mouse_threshold;
gint config_mouse_dclicktime;
+gint config_mouse_screenedgetime;
guint config_menu_hide_delay;
gboolean config_menu_middle;
config_mouse_threshold = parse_int(doc, n);
if ((n = parse_find_node("doubleClickTime", node)))
config_mouse_dclicktime = parse_int(doc, n);
+ if ((n = parse_find_node("screenEdgeWarpTime", node)))
+ config_mouse_screenedgetime = parse_int(doc, n);
n = parse_find_node("context", node);
while (n) {
config_place_center = parse_bool(doc, n);
}
+static void parse_margins(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
+ gpointer d)
+{
+ xmlNodePtr n;
+
+ node = node->children;
+
+ if ((n = parse_find_node("top", node)))
+ config_margins.top = MAX(0, parse_int(doc, n));
+ if ((n = parse_find_node("left", node)))
+ config_margins.left = MAX(0, parse_int(doc, n));
+ if ((n = parse_find_node("right", node)))
+ config_margins.right = MAX(0, parse_int(doc, n));
+ if ((n = parse_find_node("bottom", node)))
+ config_margins.bottom = MAX(0, parse_int(doc, n));
+}
+
static void parse_theme(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
gpointer d)
{
const gchar *actname;
} ObDefKeyBind;
-static void bind_default_keyboard()
-{
- ObDefKeyBind *it;
- ObDefKeyBind binds[] = {
- { NULL, NULL },
- { "A-Tab", "NextWindow" },
- { "S-A-Tab", "PreviousWindow" },
- { "A-F4", "Close" },
- { NULL, NULL }
- };
-
- for (it = binds; it->key; ++it) {
- GList *l = g_list_append(NULL, g_strdup(it->key));
- keyboard_bind(l, actions_parse_string(it->actname));
- g_list_free(l);
- }
-}
-
typedef struct
{
const gchar *button;
{
ObDefMouseBind *it;
ObDefMouseBind binds[] = {
- { NULL, NULL, 0, NULL },
{ "Left", "Client", OB_MOUSE_ACTION_PRESS, "Focus" },
{ "Middle", "Client", OB_MOUSE_ACTION_PRESS, "Focus" },
{ "Right", "Client", OB_MOUSE_ACTION_PRESS, "Focus" },
{ "Left", "AllDesktops", OB_MOUSE_ACTION_CLICK, "Raise" },
{ "Left", "Shade", OB_MOUSE_ACTION_CLICK, "Raise" },
{ "Left", "Close", OB_MOUSE_ACTION_CLICK, "Close" },
- { "Left", "Maximize", OB_MOUSE_ACTION_CLICK, "ToggleMaximizeFull" },
+ { "Left", "Maximize", OB_MOUSE_ACTION_CLICK, "Maximize" },
{ "Left", "Iconify", OB_MOUSE_ACTION_CLICK, "Iconify" },
- { "Left", "AllDesktops", OB_MOUSE_ACTION_CLICK, "ToggleOmnipresent" },
- { "Left", "Shade", OB_MOUSE_ACTION_CLICK, "ToggleShade" },
+ { "Left", "AllDesktops", OB_MOUSE_ACTION_CLICK, "Omnipresent" },
+ { "Left", "Shade", OB_MOUSE_ACTION_CLICK, "Shade" },
{ "Left", "TLCorner", OB_MOUSE_ACTION_MOTION, "Resize" },
{ "Left", "TRCorner", OB_MOUSE_ACTION_MOTION, "Resize" },
{ "Left", "BLCorner", OB_MOUSE_ACTION_MOTION, "Resize" },
{ "Left", "BRCorner", OB_MOUSE_ACTION_MOTION, "Resize" },
+ { "Left", "Top", OB_MOUSE_ACTION_MOTION, "Resize" },
+ { "Left", "Bottom", OB_MOUSE_ACTION_MOTION, "Resize" },
+ { "Left", "Left", OB_MOUSE_ACTION_MOTION, "Resize" },
+ { "Left", "Right", OB_MOUSE_ACTION_MOTION, "Resize" },
{ "Left", "Titlebar", OB_MOUSE_ACTION_MOTION, "Move" },
{ "A-Left", "Frame", OB_MOUSE_ACTION_MOTION, "Move" },
{ "A-Middle", "Frame", OB_MOUSE_ACTION_MOTION, "Resize" },
parse_register(i, "placement", parse_placement, NULL);
+ STRUT_PARTIAL_SET(config_margins, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
+
+ parse_register(i, "margins", parse_margins, NULL);
+
config_theme = NULL;
config_animate_iconify = TRUE;
translate_key("C-g", &config_keyboard_reset_state,
&config_keyboard_reset_keycode);
- bind_default_keyboard();
-
parse_register(i, "keyboard", parse_keyboard, NULL);
config_mouse_threshold = 8;
config_mouse_dclicktime = 200;
+ config_mouse_screenedgetime = 400;
bind_default_mouse();