X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fconfig.c;h=61178d11918237301720c7f0843579103923f80f;hb=bb00ef3c982009c990cccf86af7fd9b904ba20a1;hp=f4e91a8b9da78694f1a929c0cf08d6e7f0fa5c60;hpb=ea034ed97924271fbda23bd217984931605374e3;p=chaz%2Ftint2 diff --git a/src/config.c b/src/config.c index f4e91a8..61178d1 100644 --- a/src/config.c +++ b/src/config.c @@ -52,63 +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; -static int bg_task; -static int bg_task_active; -// 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); @@ -295,8 +278,6 @@ void add_entry (char *key, char *value) panel_dock = atoi (value); else if (strcmp (key, "urgent_nb_of_blink") == 0) max_tick_urgent = (atoi (value) * 2) + 1; - else if (strcmp (key, "real_transparency") == 0) - real_transparency = atoi(value); else if (strcmp (key, "panel_layer") == 0) { if (strcmp(value, "bottom") == 0) panel_layer = BOTTOM_LAYER; @@ -362,6 +343,13 @@ void add_entry (char *key, char *value) panel_config.battery.area.bg = &g_array_index(backgrounds, Background, id); #endif } + else if (strcmp (key, "battery_hide") == 0) { +#ifdef ENABLE_BATTERY + percentage_hide = atoi (value); + if (percentage_hide == 0) + percentage_hide = 101; +#endif + } /* Clock */ else if (strcmp (key, "time1_format") == 0) { @@ -507,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); @@ -596,94 +585,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); - - - // QUESTION: Do we still need backwards compatibility??? - /* Read tint-0.6 config for backward compatibility */ - else if (strcmp (key, "panel_mode") == 0) { - if (strcmp (value, "single_desktop") == 0) panel_mode = SINGLE_DESKTOP; - else panel_mode = MULTI_DESKTOP; - } - else if (strcmp (key, "panel_rounded") == 0) { - Background bg; - bg.border.rounded = atoi(value); - g_array_append_val(backgrounds, bg); - } - else if (strcmp (key, "panel_border_width") == 0) { - g_array_index(backgrounds, Background, backgrounds->len-1).border.width = atoi(value); - } - else if (strcmp (key, "panel_background_color") == 0) { - Background* bg = &g_array_index(backgrounds, Background, backgrounds->len-1); - extract_values(value, &value1, &value2, &value3); - get_color (value1, bg->back.color); - if (value2) bg->back.alpha = (atoi (value2) / 100.0); - else bg->back.alpha = 0.5; - } - else if (strcmp (key, "panel_border_color") == 0) { - Background* bg = &g_array_index(backgrounds, Background, backgrounds->len-1); - extract_values(value, &value1, &value2, &value3); - get_color (value1, bg->border.color); - if (value2) bg->border.alpha = (atoi (value2) / 100.0); - else bg->border.alpha = 0.5; - } - else if (strcmp (key, "task_text_centered") == 0) - panel_config.g_task.centered = atoi (value); - else if (strcmp (key, "task_margin") == 0) { - panel_config.g_taskbar.area.paddingxlr = 0; - panel_config.g_taskbar.area.paddingx = atoi (value); - } - else if (strcmp (key, "task_icon_size") == 0) - old_task_icon_size = atoi (value); - else if (strcmp (key, "task_rounded") == 0) { - Background bg; - bg.border.rounded = atoi(value); - g_array_append_val(backgrounds, bg); - g_array_append_val(backgrounds, bg); - bg_task = backgrounds->len-2; - bg_task_active = backgrounds->len-1; - } - else if (strcmp (key, "task_background_color") == 0) { - Background* bg = &g_array_index(backgrounds, Background, bg_task); - extract_values(value, &value1, &value2, &value3); - get_color (value1, bg->back.color); - if (value2) bg->back.alpha = (atoi (value2) / 100.0); - else bg->back.alpha = 0.5; - } - else if (strcmp (key, "task_active_background_color") == 0) { - Background* bg = &g_array_index(backgrounds, Background, bg_task_active); - extract_values(value, &value1, &value2, &value3); - get_color (value1, bg->back.color); - if (value2) bg->back.alpha = (atoi (value2) / 100.0); - else bg->back.alpha = 0.5; - } - else if (strcmp (key, "task_border_width") == 0) { - Background* bg = &g_array_index(backgrounds, Background, bg_task); - bg->border.width = atoi (value); - bg = &g_array_index(backgrounds, Background, bg_task_active); - bg->border.width = atoi (value); - } - else if (strcmp (key, "task_border_color") == 0) { - Background* bg = &g_array_index(backgrounds, Background, bg_task); - extract_values(value, &value1, &value2, &value3); - get_color (value1, bg->border.color); - if (value2) bg->border.alpha = (atoi (value2) / 100.0); - else bg->border.alpha = 0.5; - } - else if (strcmp (key, "task_active_border_color") == 0) { - Background* bg = &g_array_index(backgrounds, Background, bg_task_active); - extract_values(value, &value1, &value2, &value3); - get_color (value1, bg->border.color); - if (value2) bg->border.alpha = (atoi (value2) / 100.0); - else bg->border.alpha = 0.5; + 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); @@ -755,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; }