X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Fconfig.c;h=64bf981c1bf0371cd2718fb2b8b0f65b4f619976;hb=HEAD;hp=8e1bcf899c0ea24c89e244e2f366d469a49ed007;hpb=b2b5df767cc54539f75fc1263fe21f8a0ab1d797;p=chaz%2Fopenbox diff --git a/openbox/config.c b/openbox/config.c index 8e1bcf89..64bf981c 100644 --- a/openbox/config.c +++ b/openbox/config.c @@ -37,6 +37,7 @@ gboolean config_focus_under_mouse; gboolean config_unfocus_leave; ObPlacePolicy config_place_policy; +gboolean config_place_center; ObPlaceMonitor config_place_monitor; guint config_primary_monitor_index; @@ -47,6 +48,8 @@ StrutPartial config_margins; gchar *config_theme; gboolean config_theme_keepborder; guint config_theme_window_list_icon_size; +guint config_frame_flash_delay; +guint config_frame_flash_duration; gchar *config_title_layout; @@ -121,6 +124,7 @@ ObAppSettings* config_create_app_settings(void) settings->fullscreen = -1; settings->max_horz = -1; settings->max_vert = -1; + settings->opacity = -1; return settings; } @@ -146,6 +150,7 @@ void config_app_settings_copy_non_defaults(const ObAppSettings *src, copy_if(fullscreen, -1); copy_if(max_horz, -1); copy_if(max_vert, -1); + copy_if(opacity, -1); if (src->pos_given) { dst->pos_given = TRUE; @@ -341,6 +346,10 @@ static void parse_single_per_app_settings(xmlNodePtr app, g_free(s); } } + + if ((n = obt_xml_find_node(app->children, "opacity"))) + if (!obt_xml_node_contains(n, "default")) + settings->opacity = obt_xml_node_int(n); } /* Manages settings for individual applications. @@ -625,9 +634,13 @@ static void parse_placement(xmlNodePtr node, gpointer d) node = node->children; - if ((n = obt_xml_find_node(node, "policy"))) + if ((n = obt_xml_find_node(node, "policy"))) { if (obt_xml_node_contains(n, "UnderMouse")) config_place_policy = OB_PLACE_POLICY_MOUSE; + } + if ((n = obt_xml_find_node(node, "center"))) { + config_place_center = obt_xml_node_bool(n); + } if ((n = obt_xml_find_node(node, "monitor"))) { if (obt_xml_node_contains(n, "active")) config_place_monitor = OB_PLACE_MONITOR_ACTIVE; @@ -697,6 +710,10 @@ static void parse_theme(xmlNodePtr node, gpointer d) else if (config_theme_window_list_icon_size > 96) config_theme_window_list_icon_size = 96; } + if ((n = obt_xml_find_node(node, "flashFrameDelay"))) + config_frame_flash_delay = obt_xml_node_int(n); + if ((n = obt_xml_find_node(node, "flashFrameDuration"))) + config_frame_flash_duration = obt_xml_node_int(n); n = obt_xml_find_node(node, "font"); while (n) { @@ -1055,6 +1072,7 @@ void config_startup(ObtXmlInst *i) obt_xml_register(i, "focus", parse_focus, NULL); config_place_policy = OB_PLACE_POLICY_SMART; + config_place_center = TRUE; config_place_monitor = OB_PLACE_MONITOR_PRIMARY; config_primary_monitor_index = 1; @@ -1072,6 +1090,8 @@ void config_startup(ObtXmlInst *i) config_title_layout = g_strdup("NLIMC"); config_theme_keepborder = TRUE; config_theme_window_list_icon_size = 36; + config_frame_flash_delay = 600; + config_frame_flash_duration = 5000; config_font_activewindow = NULL; config_font_inactivewindow = NULL;