gboolean config_place_center;
ObPlaceMonitor config_place_monitor;
+guint config_primary_monitor_index;
+ObPlaceMonitor config_primary_monitor;
+
StrutPartial config_margins;
gchar *config_theme;
guint config_menu_hide_delay;
gboolean config_menu_middle;
guint config_submenu_show_delay;
+guint config_submenu_hide_delay;
gboolean config_menu_client_list_icons;
gboolean config_menu_manage_desktops;
copy_if(type, (ObClientType)-1);
copy_if(decor, -1);
copy_if(shade, -1);
+ copy_if(monitor, -1);
copy_if(focus, -1);
copy_if(desktop, 0);
copy_if(layer, -2);
if (!g_ascii_strcasecmp(s, "mouse"))
settings->monitor = 0;
else
- settings->monitor = parse_int(doc, c) + 1;
+ settings->monitor = parse_int(doc, c);
g_free(s);
}
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)))
+ if ((n = parse_find_node("screenEdgeWarpTime", node))) {
config_mouse_screenedgetime = parse_int(doc, n);
+ /* minimum value of 25 for this property, when it is 1 and you hit the
+ edge it basically never stops */
+ if (config_mouse_screenedgetime && config_mouse_screenedgetime < 25)
+ config_mouse_screenedgetime = 25;
+ }
n = parse_find_node("context", node);
while (n) {
else if (parse_contains("mouse", doc, n))
config_place_monitor = OB_PLACE_MONITOR_MOUSE;
}
+ if ((n = parse_find_node("primaryMonitor", node))) {
+ config_primary_monitor_index = parse_int(doc, n);
+ if (!config_primary_monitor_index) {
+ if (parse_contains("mouse", doc, n))
+ config_primary_monitor = OB_PLACE_MONITOR_MOUSE;
+ }
+ }
}
static void parse_margins(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
gpointer data)
{
xmlNodePtr n;
- for (node = node->children; node; node = node->next) {
- if (!xmlStrcasecmp(node->name, (const xmlChar*) "file")) {
- gchar *c;
+ node = node->children;
- c = parse_string(doc, node);
+ if ((n = parse_find_node("hideDelay", node)))
+ config_menu_hide_delay = parse_int(doc, n);
+ if ((n = parse_find_node("middle", node)))
+ config_menu_middle = parse_bool(doc, n);
+ if ((n = parse_find_node("submenuShowDelay", node)))
+ config_submenu_show_delay = parse_int(doc, n);
+ if ((n = parse_find_node("submenuHideDelay", node)))
+ config_submenu_hide_delay = parse_int(doc, n);
+ if ((n = parse_find_node("applicationIcons", node)))
+ config_menu_client_list_icons = parse_bool(doc, n);
+ if ((n = parse_find_node("manageDesktops", node)))
+ config_menu_manage_desktops = parse_bool(doc, n);
+
+ while ((node = parse_find_node("file", node))) {
+ gchar *c = parse_string(doc, node);
config_menu_files = g_slist_append(config_menu_files,
parse_expand_tilde(c));
g_free(c);
- }
- if ((n = parse_find_node("hideDelay", node)))
- config_menu_hide_delay = parse_int(doc, n);
- if ((n = parse_find_node("middle", node)))
- config_menu_middle = parse_bool(doc, n);
- if ((n = parse_find_node("submenuShowDelay", node)))
- config_submenu_show_delay = parse_int(doc, n);
- if ((n = parse_find_node("applicationIcons", node)))
- config_menu_client_list_icons = parse_bool(doc, n);
- if ((n = parse_find_node("manageDesktops", node)))
- config_menu_manage_desktops = parse_bool(doc, n);
+ node = node->next;
}
}
config_place_center = TRUE;
config_place_monitor = OB_PLACE_MONITOR_ANY;
+ config_primary_monitor_index = 1;
+ config_primary_monitor = OB_PLACE_MONITOR_ACTIVE;
+
parse_register(i, "placement", parse_placement, NULL);
STRUT_PARTIAL_SET(config_margins, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
config_menu_hide_delay = 250;
config_menu_middle = FALSE;
- config_submenu_show_delay = 0;
+ config_submenu_show_delay = 200;
+ config_submenu_hide_delay = 400;
config_menu_client_list_icons = TRUE;
config_menu_manage_desktops = TRUE;
config_menu_files = NULL;