X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fconfig.c;h=da1128f4de1cb0834b3b13f405c9d53ebaa98c84;hb=3fb94dfc5f07635116cf7af124a8e5651323840b;hp=6a8dfaca1fa9fe6d5dfb002262e0ebc21e4facd2;hpb=7d1382a984a29c03a1c2c48fb77244c9d3a839f0;p=chaz%2Fopenbox diff --git a/openbox/config.c b/openbox/config.c index 6a8dfaca..da1128f4 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -1,6 +1,7 @@ /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*- config.c for the Openbox window manager + Copyright (c) 2004 Mikael Magnusson Copyright (c) 2003 Ben Jansens This program is free software; you can redistribute it and/or modify @@ -32,7 +33,8 @@ gboolean config_focus_last; ObPlacePolicy config_place_policy; -gchar *config_theme; +gchar *config_theme; +gboolean config_theme_keepborder; gchar *config_title_layout; @@ -42,6 +44,7 @@ gint config_screen_firstdesk; gboolean config_resize_redraw; gint config_resize_popup_show; +gint config_resize_popup_pos; ObStackingLayer config_dock_layer; gboolean config_dock_floating; @@ -247,6 +250,8 @@ static void parse_theme(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, g_free(config_title_layout); config_title_layout = parse_string(doc, n); } + if ((n = parse_find_node("keepBorder", node))) + config_theme_keepborder = parse_bool(doc, n); } static void parse_desktops(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, @@ -294,6 +299,7 @@ static void parse_resize(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, if ((n = parse_find_node("drawContents", node))) config_resize_redraw = parse_bool(doc, n); if ((n = parse_find_node("popupShow", node))) { + config_resize_popup_show = parse_int(doc, n); if (parse_contains("Always", doc, n)) config_resize_popup_show = 2; else if (parse_contains("Never", doc, n)) @@ -301,6 +307,13 @@ static void parse_resize(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, else if (parse_contains("Nonpixel", doc, n)) config_resize_popup_show = 1; } + if ((n = parse_find_node("popupPosition", node))) { + config_resize_popup_pos = parse_int(doc, n); + if (parse_contains("Top", doc, n)) + config_resize_popup_pos = 1; + else if (parse_contains("Center", doc, n)) + config_resize_popup_pos = 0; + } } static void parse_dock(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, @@ -378,6 +391,7 @@ static void parse_dock(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, static void parse_menu(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node, gpointer d) { + xmlNodePtr n; for (node = node->children; node; node = node->next) { if (!xmlStrcasecmp(node->name, (const xmlChar*) "file")) { gchar *c; @@ -530,6 +544,7 @@ void config_startup(ObParseInst *i) config_theme = NULL; config_title_layout = g_strdup("NLIMC"); + config_theme_keepborder = TRUE; parse_register(i, "theme", parse_theme, NULL); @@ -540,7 +555,8 @@ void config_startup(ObParseInst *i) parse_register(i, "desktops", parse_desktops, NULL); config_resize_redraw = TRUE; - config_resize_popup_show = 1; + config_resize_popup_show = 1; /* nonpixel increments */ + config_resize_popup_pos = 0; /* center of client */ parse_register(i, "resize", parse_resize, NULL);