X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fconfig.c;h=61178d11918237301720c7f0843579103923f80f;hb=5c73d8e6fca08157fa70cdb30069dd09c3619afb;hp=150face8b7f172eac0b7536f94dc4c951419a445;hpb=9f561215b52f7e275bbe50faa68cfc9fbc935994;p=chaz%2Ftint2 diff --git a/src/config.c b/src/config.c index 150face..61178d1 100644 --- a/src/config.c +++ b/src/config.c @@ -52,58 +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)); - systray.alpha = 100; - systray.sort = 3; + config_path = 0; + snapshot_path = 0; old_config_file = 1; - - // window manager's menu default value == false - wm_menu = 0; - max_tick_urgent = 7; - - // flush pango cache if possible - //pango_xft_shutdown_display(server.dsp, server.screen); - //PangoFontMap *font_map = pango_xft_get_font_map(server.dsp, server.screen); - //pango_fc_font_map_shutdown(font_map); } - void cleanup_config() { + if (config_path) g_free(config_path); + if (snapshot_path) g_free(snapshot_path); } @@ -527,12 +495,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); @@ -621,11 +590,16 @@ void add_entry (char *key, char *value) 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); @@ -697,9 +671,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; }