]> Dogcows Code - chaz/openbox/blobdiff - openbox/config.c
don't force fake enter events while there is a grab on the pointer. this fixes focus...
[chaz/openbox] / openbox / config.c
index 69904d85d5b8cd9b5e39988e1fa9dc8f6cef55ea..e1954a79c0beaddcfe99aa5623d8a0450db5ee72 100644 (file)
@@ -89,6 +89,7 @@ guint    config_menu_hide_delay;
 gboolean config_menu_middle;
 guint    config_submenu_show_delay;
 gboolean config_menu_client_list_icons;
+gboolean config_menu_manage_desktops;
 
 GSList *config_menu_files;
 
@@ -137,6 +138,7 @@ void config_app_settings_copy_non_defaults(const ObAppSettings *src,
 
     if (src->pos_given) {
         dst->pos_given = TRUE;
+        dst->pos_force = src->pos_force;
         dst->position = src->position;
         dst->monitor = src->monitor;
     }
@@ -246,6 +248,8 @@ static void parse_per_app_settings(ObParseInst *inst, xmlDocPtr doc,
                             settings->monitor = parse_int(doc, c) + 1;
                         g_free(s);
                     }
+
+                parse_attr_bool("force", n, &settings->pos_force);
             }
 
             if ((n = parse_find_node("focus", app->children)))
@@ -671,6 +675,11 @@ static void parse_resize(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
                 if ((n2 = parse_find_node("y", n->children)))
                     config_parse_gravity_coord(doc, n2,
                                                &config_resize_popup_fixed.y);
+
+                config_resize_popup_fixed.x.pos =
+                    MAX(config_resize_popup_fixed.x.pos, 0);
+                config_resize_popup_fixed.y.pos =
+                    MAX(config_resize_popup_fixed.y.pos, 0);
             }
         }
     }
@@ -774,6 +783,8 @@ static void parse_menu(ObParseInst *i, xmlDocPtr doc, xmlNodePtr 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);
     }
 }
 
@@ -965,6 +976,7 @@ void config_startup(ObParseInst *i)
     config_menu_middle = FALSE;
     config_submenu_show_delay = 0;
     config_menu_client_list_icons = TRUE;
+    config_menu_manage_desktops = TRUE;
     config_menu_files = NULL;
 
     parse_register(i, "menu", parse_menu, NULL);
This page took 0.023205 seconds and 4 git commands to generate.