summaryrefslogtreecommitdiff
path: root/openbox/config.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2008-01-31 12:36:06 -0500
committerDana Jansens <danakj@orodu.net>2008-01-31 12:51:38 -0500
commit20b8fcfa33feeade5946bc7f3046705da5d164fe (patch)
tree5199d13a9f18aa90ce51244c3c3eb6685d7673ab /openbox/config.c
parentdc94a241c30484611688a8bfb5515577f017529e (diff)
parentd11ac82062d729be5d63c9c40c5c2bb312a8b8f1 (diff)
Merge branch 'backport' into work
Conflicts: openbox/client.c openbox/config.c openbox/event.c openbox/extensions.c openbox/focus_cycle_indicator.c openbox/focus_cycle_popup.c openbox/menuframe.c openbox/moveresize.c openbox/openbox.c openbox/screen.c openbox/stacking.c openbox/startupnotify.c
Diffstat (limited to 'openbox/config.c')
-rw-r--r--openbox/config.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/openbox/config.c b/openbox/config.c
index ce3649d9..eaaab536 100644
--- a/openbox/config.c
+++ b/openbox/config.c
@@ -35,9 +35,9 @@ gboolean config_focus_raise;
gboolean config_focus_last;
gboolean config_focus_under_mouse;
-ObPlacePolicy config_place_policy;
-gboolean config_place_center;
-gboolean config_place_active;
+ObPlacePolicy config_place_policy;
+gboolean config_place_center;
+ObPlaceMonitor config_place_monitor;
StrutPartial config_margins;
@@ -54,7 +54,7 @@ RrFont *config_font_menuitem;
RrFont *config_font_menutitle;
RrFont *config_font_osd;
-gint config_desktops_num;
+guint config_desktops_num;
GSList *config_desktops_names;
guint config_screen_firstdesk;
guint config_desktop_popup_time;
@@ -481,8 +481,12 @@ static void parse_placement(xmlNodePtr node, gpointer d)
config_place_policy = OB_PLACE_POLICY_MOUSE;
if ((n = obt_parse_find_node(node, "center")))
config_place_center = obt_parse_node_bool(n);
- if ((n = obt_parse_find_node(node, "active")))
- config_place_active = obt_parse_node_bool(n);
+ if ((n = obt_parse_find_node(node, "monitor"))) {
+ if (obt_parse_node_contains(n, "active"))
+ config_place_monitor = OB_PLACE_MONITOR_ACTIVE;
+ else if (obt_parse_node_contains(n, "mouse"))
+ config_place_monitor = OB_PLACE_MONITOR_MOUSE;
+ }
}
static void parse_margins(xmlNodePtr node, gpointer d)
@@ -592,7 +596,7 @@ static void parse_desktops(xmlNodePtr node, gpointer d)
if ((n = obt_parse_find_node(node, "number"))) {
gint d = obt_parse_node_int(n);
if (d > 0)
- config_desktops_num = d;
+ config_desktops_num = (unsigned) d;
}
if ((n = obt_parse_find_node(node, "firstdesk"))) {
gint d = obt_parse_node_int(n);
@@ -870,7 +874,7 @@ void config_startup(ObtParseInst *i)
config_place_policy = OB_PLACE_POLICY_SMART;
config_place_center = TRUE;
- config_place_active = FALSE;
+ config_place_monitor = OB_PLACE_MONITOR_ANY;
obt_parse_register(i, "placement", parse_placement, NULL);
@@ -966,6 +970,7 @@ void config_shutdown(void)
RrFontClose(config_font_inactivewindow);
RrFontClose(config_font_menuitem);
RrFontClose(config_font_menutitle);
+ RrFontClose(config_font_osd);
for (it = config_desktops_names; it; it = g_slist_next(it))
g_free(it->data);