X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fconfig.c;h=d93d2c3d4166115c237fe9fadb8ec2d0bf5771f2;hb=ca1495611f050e5bcce6856a6597a2a10e7afa8d;hp=f7e6d60737c56698bb5a4b59853a857919088d42;hpb=d9d566d12cd85b509a8bbc74143e94812ed854d0;p=chaz%2Ftint2 diff --git a/src/config.c b/src/config.c index f7e6d60..d93d2c3 100644 --- a/src/config.c +++ b/src/config.c @@ -52,14 +52,16 @@ // global path char *config_path = 0; -char *thumbnail_path = 0; +char *snapshot_path = 0; // -------------------------------------------------- // backward compatibility static int old_task_icon_size; static Area *area_task; static Area *area_task_active; - +// detect if it's an old config file +// ==1 +static int old_config_file; // temporary list of background static GSList *list_back; @@ -87,6 +89,7 @@ void init_config() panel_config.g_task.alpha = 100; panel_config.g_task.alpha_active = 100; systray.sort = 3; + old_config_file = 1; // window manager's menu default value == false wm_menu = 0; @@ -170,6 +173,10 @@ void get_action (char *event, int *action) *action = DESKTOP_LEFT; else if (strcmp (event, "desktop_right") == 0) *action = DESKTOP_RIGHT; + else if (strcmp (event, "next_task") == 0) + *action = NEXT_TASK; + else if (strcmp (event, "prev_task") == 0) + *action = PREV_TASK; } @@ -379,6 +386,10 @@ void add_entry (char *key, char *value) memcpy(&panel_config.clock.area.pix.back, &a->pix.back, sizeof(Color)); memcpy(&panel_config.clock.area.pix.border, &a->pix.border, sizeof(Border)); } + else if (strcmp(key, "clock_tooltip") == 0) { + if (strlen(value) > 0) + time_tooltip_format = strdup (value); + } else if (strcmp(key, "clock_lclick_command") == 0) { if (strlen(value) > 0) clock_lclick_command = strdup(value); @@ -480,10 +491,13 @@ void add_entry (char *key, char *value) /* Systray */ else if (strcmp (key, "systray") == 0) { - if(atoi(value) == 1) - systray_enabled = 1; + 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) { + if (old_config_file) + systray_enabled = 1; extract_values(value, &value1, &value2, &value3); systray.area.paddingxlr = systray.area.paddingx = atoi (value1); if (value2) systray.area.paddingy = atoi (value2); @@ -512,14 +526,18 @@ void add_entry (char *key, char *value) else if (strcmp (key, "tooltip_show_timeout") == 0) { double timeout = atof(value); int sec = (int)timeout; - int usec = (timeout-sec)*1e6; - g_tooltip.show_timeout.it_value = (struct timeval){.tv_sec=sec, .tv_usec=usec}; + int nsec = (timeout-sec)*1e9; + if (nsec < 0) // can happen because of double is not precise such that (sec > timeout)==TRUE + nsec = 0; + g_tooltip.show_timeout = (struct timespec){.tv_sec=sec, .tv_nsec=nsec}; } else if (strcmp (key, "tooltip_hide_timeout") == 0) { double timeout = atof(value); int sec = (int)timeout; - int usec = (timeout-sec)*1e6; - g_tooltip.hide_timeout.it_value = (struct timeval){.tv_sec=sec, .tv_usec=usec}; + int nsec = (timeout-sec)*1e9; + if (nsec < 0) // can happen because of double is not precise such that (sec > timeout)==TRUE + nsec = 0; + g_tooltip.hide_timeout = (struct timespec){.tv_sec=sec, .tv_nsec=nsec}; } else if (strcmp (key, "tooltip_padding") == 0) { extract_values(value, &value1, &value2, &value3);