]> Dogcows Code - chaz/tint2/blobdiff - src/config.c
fixed : lost of active task on SIGUSR1
[chaz/tint2] / src / config.c
index 6d9e7d0cc4e65bba7dc08820bf653e6b32b237af..9fa585b0156961b0bc6f90390fe94c4d87140e2b 100644 (file)
 
 #include "common.h"
 #include "server.h"
+#include "panel.h"
 #include "task.h"
 #include "taskbar.h"
 #include "systraybar.h"
 #include "clock.h"
-#include "panel.h"
 #include "config.h"
 #include "window.h"
 #include "tooltip.h"
@@ -74,10 +74,6 @@ static GSList *list_back;
 
 void init_config()
 {
-       // get monitor and desktop config
-       get_monitors();
-       get_desktops();
-
        // append full transparency background
        list_back = g_slist_append(0, calloc(1, sizeof(Area)));
 
@@ -283,13 +279,18 @@ void add_entry (char *key, char *value)
                        b[0] = '\0';
                        panel_config.pourcentx = 1;
                }
-               panel_config.initial_width = atof(value1);
+               panel_config.area.width = atoi(value1);
+               if (panel_config.area.width == 0) {
+                       // full width mode
+                       panel_config.area.width = 100;
+                       panel_config.pourcentx = 1;
+               }
                if (value2) {
                        if ((b = strchr (value2, '%'))) {
                                b[0] = '\0';
                                panel_config.pourcenty = 1;
                        }
-                       panel_config.initial_height = atof(value2);
+                       panel_config.area.height = atoi(value2);
                }
        }
        else if (strcmp (key, "panel_margin") == 0) {
@@ -748,19 +749,15 @@ void config_finish ()
 
        // TODO: user can configure layout => ordered objects in panel.area.list
        // clock and systray before taskbar because resize(clock) can resize others object ??
-       init_panel();
+       init_tooltip();
        init_clock();
 #ifdef ENABLE_BATTERY
        init_battery();
 #endif
        init_systray();
-       init_taskbar();
-       init_tooltip();
-       visible_object();
+       init_panel();
 
        cleanup_config();
-
-       task_refresh_tasklist();
 }
 
 
@@ -871,7 +868,7 @@ void save_config ()
        FILE *fp;
 
        if (old_task_icon_size) {
-               panel_config.g_task.area.paddingy = ((int)panel_config.initial_height - (2 * panel_config.area.paddingy) - old_task_icon_size) / 2;
+               panel_config.g_task.area.paddingy = ((int)panel_config.area.height - (2 * panel_config.area.paddingy) - old_task_icon_size) / 2;
        }
 
        dir = g_build_filename (g_get_user_config_dir(), "tint2", NULL);
@@ -911,7 +908,7 @@ void save_config ()
        if (panel_position & LEFT) fputs(" left horizontal\n", fp);
        else if (panel_position & RIGHT) fputs(" right horizontal\n", fp);
        else fputs(" center horizontal\n", fp);
-       fprintf(fp, "panel_size = %d %d\n", (int)panel_config.initial_width, (int)panel_config.initial_height);
+       fprintf(fp, "panel_size = %d %d\n", panel_config.area.width, panel_config.area.height);
        fprintf(fp, "panel_margin = %d %d\n", panel_config.marginx, panel_config.marginy);
        fprintf(fp, "panel_padding = %d %d %d\n", panel_config.area.paddingxlr, panel_config.area.paddingy, panel_config.area.paddingx);
        fprintf(fp, "font_shadow = %d\n", panel_config.g_task.font_shadow);
This page took 0.02252 seconds and 4 git commands to generate.