]> Dogcows Code - chaz/tint2/blobdiff - src/panel.c
*add* multiple tasks can be urgent now
[chaz/tint2] / src / panel.c
index bdf8813e68bdff8f0bb0a918b89c5744b00d86c2..a84bd763fc5f9cd1c887507aa23838608b9f0793 100644 (file)
@@ -52,8 +52,7 @@ int panel_refresh;
 
 Task *task_active;
 Task *task_drag;
-Task *task_urgent;
-int  tick_urgent;
+GSList *urgent_list;
 int  max_tick_urgent;
 
 // panel's initial config
@@ -71,6 +70,13 @@ void init_panel()
        int i, old_nb_panel;
        Panel *new_panel, *p;
 
+       init_tooltip();
+       init_systray();
+       init_clock();
+#ifdef ENABLE_BATTERY
+       init_battery();
+#endif
+
        cleanup_taskbar();
        for (i=0 ; i < nb_panel ; i++) {
                free_area(&panel1[i].area);
@@ -123,12 +129,12 @@ void init_panel()
                init_panel_size_and_position(p);
 
                // add childs
-               if (p->clock.area.on_screen) {
+               if (clock_enabled) {
                        init_clock_panel(p);
                        p->area.list = g_slist_append(p->area.list, &p->clock);
                }
 #ifdef ENABLE_BATTERY
-               if (p->battery.area.on_screen) {
+               if (battery_enabled) {
                        init_battery_panel(p);
                        p->area.list = g_slist_append(p->area.list, &p->battery);
                }
@@ -137,6 +143,7 @@ void init_panel()
                if (systray.area.on_screen && i == 0) {
                        init_systray_panel(p);
                        p->area.list = g_slist_append(p->area.list, &systray);
+                       refresh_systray = 1;
                }
 
                if (i >= old_nb_panel) {
@@ -145,7 +152,6 @@ void init_panel()
                        if (g_tooltip.enabled)
                                event_mask |= PointerMotionMask|LeaveWindowMask;
                        XSetWindowAttributes att = { ParentRelative, 0L, 0, 0L, 0, 0, Always, 0L, 0L, False, event_mask, NoEventMask, False, 0, 0 };
-                       if (p->main_win) XDestroyWindow(server.dsp, p->main_win);
                        p->main_win = XCreateWindow(server.dsp, server.root_win, p->posx, p->posy, p->area.width, p->area.height, 0, server.depth, InputOutput, CopyFromParent, CWEventMask, &att);
                }
                else {
@@ -164,10 +170,10 @@ void init_panel()
 
        panel1 = new_panel;
        panel_refresh = 1;
-       refresh_systray = 1;
        init_taskbar();
        visible_object();
        task_refresh_tasklist();
+       active_task();
 }
 
 
@@ -232,15 +238,9 @@ void cleanup_panel()
 
        task_active = 0;
        task_drag = 0;
-       task_urgent = 0;
+       urgent_list = 0;
        cleanup_taskbar();
 
-       // font allocated once
-       if (panel1[0].g_task.font_desc) {
-               pango_font_description_free(panel1[0].g_task.font_desc);
-               panel1[0].g_task.font_desc = 0;
-       }
-
        int i;
        Panel *p;
        for (i=0 ; i < nb_panel ; i++) {
This page took 0.026468 seconds and 4 git commands to generate.