]> Dogcows Code - chaz/tint2/blobdiff - src/panel.c
cleanup : Area posx/posy managed by layering engine (area.c)
[chaz/tint2] / src / panel.c
index 23bfa6363d456a5c23b7495f1f054bfa80f05a42..b618bf10a791c3eb3f2a063d304ced5986c59300 100644 (file)
@@ -126,7 +126,7 @@ void cleanup_panel()
 
 void init_panel()
 {
-       int i;
+       int i, k;
        Panel *p;
 
        if (panel_config.monitor > (server.nb_monitor-1)) {
@@ -174,7 +174,24 @@ void init_panel()
                p->g_task.area.panel = p;
                init_panel_size_and_position(p);
                // add childs according to panel_items
-               set_panel_items(p);
+               for (k=0 ; k < strlen(panel_items_order) ; k++) {
+                       if (panel_items_order[k] == 'L') 
+                               init_launcher_panel(p);
+                       if (panel_items_order[k] == 'T')
+                               init_taskbar_panel(p);
+#ifdef ENABLE_BATTERY
+                       if (panel_items_order[k] == 'B')
+                               init_battery_panel(p);
+#endif
+                       if (panel_items_order[k] == 'S') {
+                               // TODO : check systray is only on 1 panel
+                               init_systray_panel(p);
+                               refresh_systray = 1;
+                       }
+                       if (panel_items_order[k] == 'C')
+                               init_clock_panel(p);
+               }
+               set_panel_items_order(p);
 
                // catch some events
                XSetWindowAttributes att = { .colormap=server.colormap, .background_pixel=0, .border_pixel=0 };
@@ -204,7 +221,6 @@ void init_panel()
                        add_timeout(panel_autohide_hide_timeout, 0, autohide_hide, p);
        }
 
-       panel_refresh = 1;
        visible_object();
        task_refresh_tasklist();
        active_task();
@@ -453,7 +469,7 @@ void update_strut(Panel* p)
 }
 
 
-void set_panel_items(Panel *p)
+void set_panel_items_order(Panel *p)
 {
        int k, j;
        
@@ -461,34 +477,26 @@ void set_panel_items(Panel *p)
                g_slist_free(p->area.list);
                p->area.list = 0;
        }
-       printf("panel_items_order %s\n", panel_items_order);
+
        for (k=0 ; k < strlen(panel_items_order) ; k++) {
-               if (panel_items_order[k] == 'L') {
-                       init_launcher_panel(p);
+               if (panel_items_order[k] == 'L') 
                        p->area.list = g_slist_append(p->area.list, &p->launcher);
-               }
                if (panel_items_order[k] == 'T') {
-                       init_taskbar_panel(p);
                        for (j=0 ; j < p->nb_desktop ; j++)
                                p->area.list = g_slist_append(p->area.list, &p->taskbar[j]);
                }
 #ifdef ENABLE_BATTERY
-               if (panel_items_order[k] == 'B') {
-                       init_battery_panel(p);
+               if (panel_items_order[k] == 'B') 
                        p->area.list = g_slist_append(p->area.list, &p->battery);
-               }
 #endif
                if (panel_items_order[k] == 'S') {
                        // TODO : check systray is only on 1 panel
-                       init_systray_panel(p);
-                       refresh_systray = 1;
                        p->area.list = g_slist_append(p->area.list, &systray);
                }
-               if (panel_items_order[k] == 'C') {
-                       init_clock_panel(p);
+               if (panel_items_order[k] == 'C')
                        p->area.list = g_slist_append(p->area.list, &p->clock);
-               }
        }
+       init_rendering(&p->area, 0);
 }
 
 
This page took 0.029302 seconds and 4 git commands to generate.