X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftint2;a=blobdiff_plain;f=src%2Fconfig.c;h=04ec056173607730db02dafcf57b9b5becf27500;hp=a4642031c9d06f22d2074469867d11130a1071da;hb=63bbffa4af17926ba2d52728883988eae402b07a;hpb=585f8250288b78829d2ac764b6e5c4eb32b4e23d diff --git a/src/config.c b/src/config.c index a464203..04ec056 100644 --- a/src/config.c +++ b/src/config.c @@ -59,14 +59,14 @@ char *snapshot_path; // -------------------------------------------------- // backward compatibility // detect if it's an old config file (==1) -static int old_config_file; +static int new_config_file; void default_config() { config_path = 0; snapshot_path = 0; - old_config_file = 1; + new_config_file = 0; } void cleanup_config() @@ -236,7 +236,7 @@ void add_entry (char *key, char *value) } } else if (strcmp (key, "panel_items") == 0) { - if (panel_items_order) g_free(panel_items_order); + new_config_file = 1; panel_items_order = strdup(value); int j; for (j=0 ; j < strlen(panel_items_order) ; j++) { @@ -372,6 +372,13 @@ void add_entry (char *key, char *value) /* Clock */ else if (strcmp (key, "time1_format") == 0) { + if (new_config_file == 0) { + clock_enabled = 1; + if (panel_items_order) + panel_items_order = strcat(panel_items_order, "C"); + else + panel_items_order = strdup("C"); + } if (strlen(value) > 0) { time1_format = strdup (value); clock_enabled = 1; @@ -444,13 +451,14 @@ void add_entry (char *key, char *value) int id = atoi (value); id = (id < backgrounds->len && id >= 0) ? id : 0; panel_config.g_taskbar.bg = &g_array_index(backgrounds, Background, id); + if (panel_config.g_taskbar.bg_active == 0) + panel_config.g_taskbar.bg_active = panel_config.g_taskbar.bg; panel_config.g_taskbar.area.bg = panel_config.g_taskbar.bg; } else if (strcmp (key, "taskbar_active_background_id") == 0) { int id = atoi (value); id = (id < backgrounds->len && id >= 0) ? id : 0; panel_config.g_taskbar.bg_active = &g_array_index(backgrounds, Background, id); - panel_config.g_taskbar.use_active = 1; } /* Task */ @@ -633,6 +641,29 @@ void add_entry (char *key, char *value) } } + // old config option + else if (strcmp(key, "systray") == 0) { + if (new_config_file == 0) { + systray_enabled = atoi(value); + if (systray_enabled) { + if (panel_items_order) + panel_items_order = strcat(panel_items_order, "S"); + else + panel_items_order = strdup("S"); + } + } + } + else if (strcmp(key, "battery") == 0) { + if (new_config_file == 0) { + battery_enabled = atoi(value); + if (battery_enabled) { + if (panel_items_order) + panel_items_order = strcat(panel_items_order, "B"); + else + panel_items_order = strdup("B"); + } + } + } else fprintf(stderr, "tint2 : invalid option \"%s\",\n upgrade tint2 or correct your config file\n", key); @@ -705,6 +736,17 @@ int config_read_file (const char *path) } } fclose (fp); + + // append Taskbar item + if (new_config_file == 0) { + taskbar_enabled = 1; + if (panel_items_order) { + char *tmp = strdup("T"); + panel_items_order = strcat(tmp, panel_items_order); + } + else + panel_items_order = strdup("T"); + } return 1; }