ObOrientation config_dock_orient;
gboolean config_dock_hide;
guint config_dock_hide_delay;
+guint config_dock_app_move_button;
+guint config_dock_app_move_modifiers;
guint config_keyboard_reset_keycode;
guint config_keyboard_reset_state;
gint config_mouse_threshold;
gint config_mouse_dclicktime;
+gboolean config_dialog_focus;
+gboolean config_dialog_desktop;
+
GSList *config_menu_files;
gint config_resist_win;
config_dock_hide = parse_bool(doc, n);
if ((n = parse_find_node("hideDelay", node)))
config_dock_hide_delay = parse_int(doc, n) * 1000;
+ if ((n = parse_find_node("moveButton", node))) {
+ gchar *str = parse_string(doc, n);
+ guint b, s;
+ if (translate_button(str, &s, &b)) {
+ config_dock_app_move_button = b;
+ config_dock_app_move_modifiers = s;
+ } else {
+ g_warning("invalid button '%s'", str);
+ }
+ g_free(str);
+ }
+}
+
+static void parse_dialog(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
+ void *d)
+{
+ xmlNodePtr n;
+
+ node = node->children;
+
+ if ((n = parse_find_node("focus", node)))
+ config_dialog_focus = parse_bool(doc, n);
+ if ((n = parse_find_node("desktop", node)))
+ config_dialog_desktop = parse_bool(doc, n);
}
static void parse_menu(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, void *d)
config_dock_orient = OB_ORIENTATION_VERT;
config_dock_hide = FALSE;
config_dock_hide_delay = 300;
+ config_dock_app_move_button = 2; /* middle */
+ config_dock_app_move_modifiers = 0;
parse_register(i, "dock", parse_dock, NULL);
parse_register(i, "resistance", parse_resistance, NULL);
+ config_dialog_focus = TRUE;
+ config_dialog_desktop = TRUE;
+
+ parse_register(i, "dialog", parse_dialog, NULL);
+
config_menu_files = NULL;
parse_register(i, "menu", parse_menu, NULL);