+ if (panel->temp_pmap) XFreePixmap(server.dsp, panel->temp_pmap);
+ panel->temp_pmap = XCreatePixmap(server.dsp, server.root_win, panel->area.width, panel->area.height, server.depth);
+
+ refresh(&panel->area);
+ XCopyArea(server.dsp, panel->temp_pmap, panel->main_win, server.gc, 0, 0, panel->area.width, panel->area.height, 0, 0);
+ }
+ XFlush (server.dsp);
+
+ if (refresh_systray) {
+ refresh_systray = 0;
+ panel = (Panel*)systray.area.panel;
+ // tint2 doen't draw systray icons. it just redraw background.
+ XSetWindowBackgroundPixmap (server.dsp, panel->main_win, panel->temp_pmap);
+ // force icon's refresh
+ refresh_systray_icon();
+ }
+ }
+
+ // thanks to AngryLlama for the timer
+ // Create a File Description Set containing x11_fd, and every timer_fd
+ FD_ZERO (&fdset);
+ FD_SET (x11_fd, &fdset);
+ int max_fd = x11_fd;
+ timer_iter = timer_list;
+ while (timer_iter) {
+ timer = timer_iter->data;
+ max_fd = timer->id > max_fd ? timer->id : max_fd;
+ FD_SET(timer->id, &fdset);
+ timer_iter = timer_iter->next;
+ }