]> Dogcows Code - chaz/openbox/blobdiff - openbox/config.c
Merge branch 'backport' into work
[chaz/openbox] / openbox / config.c
index e3be728e42a1fb2fffcbe831cb4f8055afdd8263..0d28be2cb8d1568f59559249478fee2e89040c68 100644 (file)
@@ -22,7 +22,6 @@
 #include "mouse.h"
 #include "actions.h"
 #include "translate.h"
-#include "hooks.h"
 #include "client.h"
 #include "screen.h"
 #include "openbox.h"
@@ -40,6 +39,9 @@ ObPlacePolicy  config_place_policy;
 gboolean       config_place_center;
 ObPlaceMonitor config_place_monitor;
 
+guint          config_primary_monitor_index;
+ObPlaceMonitor config_primary_monitor;
+
 StrutPartial config_margins;
 
 gchar   *config_theme;
@@ -200,7 +202,7 @@ static void parse_per_app_settings(xmlNodePtr node, gpointer d)
     gboolean x_pos_given;
 
     while (app) {
-        name_set = class_set = type_set = x_pos_given = FALSE;
+        x_pos_given = FALSE;
 
         class_set = obt_parse_attr_string(app, "class", &class);
         name_set = obt_parse_attr_string(app, "name", &name);
@@ -345,47 +347,6 @@ static void parse_per_app_settings(xmlNodePtr node, gpointer d)
     }
 }
 
-static void parse_hook(xmlNodePtr node, gpointer d)
-{
-    gchar *name;
-    ObHook hook;
-    xmlNodePtr n;
-
-
-    if (!obt_parse_attr_string(node, "name", &name)) {
-        g_message(_("Hook in config file is missing a name"));
-        return;
-    }
-
-    hook = hooks_hook_from_name(name);
-    if (!hook)
-        g_message(_("Unknown hook \"%s\" in config file"), name);
-    else {
-        if ((n = obt_parse_find_node(node->children, "action")))
-            while (n) {
-                ObActionsAct *action;
-
-                action = actions_parse(n);
-                if (action)
-                    hooks_add(hook, action);
-                n = obt_parse_find_node(n->next, "action");
-            }
-    }
-
-    g_free(name);
-}
-
-static void parse_hooks(xmlNodePtr node, gpointer d)
-{
-    xmlNodePtr n;
-
-    if ((n = obt_parse_find_node(node->children, "hook")))
-        while (n) {
-            parse_hook(n, NULL);
-            n = obt_parse_find_node(n->next, "hook");
-        }
-}
-
 /*
 
 <keybind key="C-x">
@@ -479,8 +440,13 @@ static void parse_mouse(xmlNodePtr node, gpointer d)
         config_mouse_threshold = obt_parse_node_int(n);
     if ((n = obt_parse_find_node(node, "doubleClickTime")))
         config_mouse_dclicktime = obt_parse_node_int(n);
-    if ((n = obt_parse_find_node(node, "screenEdgeWarpTime")))
+    if ((n = obt_parse_find_node(node, "screenEdgeWarpTime"))) {
         config_mouse_screenedgetime = obt_parse_node_int(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 = obt_parse_find_node(node, "context");
     while (n) {
@@ -557,6 +523,13 @@ static void parse_placement(xmlNodePtr node, gpointer d)
         else if (obt_parse_node_contains(n, "mouse"))
             config_place_monitor = OB_PLACE_MONITOR_MOUSE;
     }
+    if ((n = obt_parse_find_node(node, "primaryMonitor"))) {
+        config_primary_monitor_index = obt_parse_node_int(n);
+        if (!config_primary_monitor_index) {
+            if (obt_parse_node_contains(n, "mouse"))
+                config_primary_monitor = OB_PLACE_MONITOR_MOUSE;
+        }
+    }
 }
 
 static void parse_margins(xmlNodePtr node, gpointer d)
@@ -960,6 +933,9 @@ void config_startup(ObtParseInst *i)
     config_place_center = TRUE;
     config_place_monitor = OB_PLACE_MONITOR_ANY;
 
+    config_primary_monitor_index = 1;
+    config_primary_monitor = OB_PLACE_MONITOR_ACTIVE;
+
     obt_parse_register(i, "placement", parse_placement, NULL);
 
     STRUT_PARTIAL_SET(config_margins, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
@@ -1039,8 +1015,6 @@ void config_startup(ObtParseInst *i)
 
     obt_parse_register(i, "menu", parse_menu, NULL);
 
-    obt_parse_register(i, "hooks", parse_hooks, NULL);
-
     config_per_app_settings = NULL;
 
     obt_parse_register(i, "applications", parse_per_app_settings, NULL);
This page took 0.026359 seconds and 4 git commands to generate.