X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fconfig.c;h=6233eccc36d8f48d33b903b856265edc01066d2a;hb=f8f6e7f277a6e09fb4a9fa7db532867d51d229be;hp=c159a30e043da926cfdd4654570ad315401d8c92;hpb=2f3cf28063b0fe40cdbdb3e605deeb572973cb7f;p=chaz%2Ftint2 diff --git a/src/config.c b/src/config.c index c159a30..6233ecc 100644 --- a/src/config.c +++ b/src/config.c @@ -52,61 +52,26 @@ #endif // global path -char *config_path = 0; -char *snapshot_path = 0; +char *config_path; +char *snapshot_path; // -------------------------------------------------- // backward compatibility -static int old_task_icon_size; -// detect if it's an old config file -// ==1 +// detect if it's an old config file (==1) static int old_config_file; -void init_config() +void default_config() { - if (backgrounds) - g_array_free(backgrounds, 1); - backgrounds = g_array_new(0, 0, sizeof(Background)); - - // append full transparency background - Background transparent_bg; - memset(&transparent_bg, 0, sizeof(Background)); - g_array_append_val(backgrounds, transparent_bg); - - // tint2 could reload config, so we cleanup objects - cleanup_systray(); -#ifdef ENABLE_BATTERY - cleanup_battery(); -#endif - cleanup_clock(); - cleanup_tooltip(); - - // panel's default value - if (panel_config.g_task.font_desc) { - pango_font_description_free(panel_config.g_task.font_desc); - } - memset(&panel_config, 0, sizeof(Panel)); - int i; - for (i=0; i 0) panel_config.monitor -= 1; - } + panel_config.monitor = config_get_monitor(value); } else if (strcmp (key, "panel_size") == 0) { extract_values(value, &value1, &value2, &value3); @@ -510,12 +497,13 @@ void add_entry (char *key, char *value) } /* Systray */ - else if (strcmp (key, "systray") == 0) { + // systray disabled in snapshot mode + else if (strcmp (key, "systray") == 0 && snapshot_path == 0) { systray_enabled = atoi(value); // systray is latest option added. files without 'systray' are old. old_config_file = 0; } - else if (strcmp (key, "systray_padding") == 0) { + else if (strcmp (key, "systray_padding") == 0 && snapshot_path == 0) { if (old_config_file) systray_enabled = 1; extract_values(value, &value1, &value2, &value3); @@ -599,14 +587,21 @@ void add_entry (char *key, char *value) else if (strcmp(key, "strut_policy") == 0) { if (strcmp(value, "follow_size") == 0) panel_strut_policy = STRUT_FOLLOW_SIZE; + else if (strcmp(value, "none") == 0) + panel_strut_policy = STRUT_NONE; else panel_strut_policy = STRUT_MINIMUM; } - else if (strcmp(key, "autohide_height") == 0) + else if (strcmp(key, "autohide_height") == 0) { panel_autohide_height = atoi(value); + if (panel_autohide_height == 0) { + // autohide need height > 0 + panel_autohide_height = 1; + } + } else - fprintf(stderr, "tint2 : invalid option \"%s\", correct your config file\n", key); + fprintf(stderr, "tint2 : invalid option \"%s\",\n upgrade tint2 or correct your config file\n", key); if (value1) free (value1); if (value2) free (value2); @@ -678,9 +673,6 @@ int config_read_file (const char *path) } fclose (fp); - if (old_task_icon_size) { - panel_config.g_task.area.paddingy = ((int)panel_config.area.height - (2 * panel_config.area.paddingy) - old_task_icon_size) / 2; - } return 1; }