Draw panel before systray to reduce flicker
o9000 mrovi9000@gmail.com
2 files changed,
17 insertions(+),
17 deletions(-)
M
src/panel.c
→
src/panel.c
@@ -667,13 +667,13 @@ state[2] = server.atom._NET_WM_STATE_STICKY;
state[3] = layer == BOTTOM_LAYER ? server.atom._NET_WM_STATE_BELOW : server.atom._NET_WM_STATE_ABOVE; int num_atoms = layer == NORMAL_LAYER ? 3 : 4; XChangeProperty(server.display, - p->main_win, - server.atom._NET_WM_STATE, - XA_ATOM, - 32, - PropModeReplace, - (unsigned char *)state, - num_atoms); + p->main_win, + server.atom._NET_WM_STATE, + XA_ATOM, + 32, + PropModeReplace, + (unsigned char *)state, + num_atoms); } void replace_panel_all_desktops(Panel *p)
M
src/tint.c
→
src/tint.c
@@ -1734,6 +1734,16 @@ 0,
0); XSetWindowBackgroundPixmap(server.display, panel->main_win, panel->hidden_pixmap); } else { + XCopyArea(server.display, + panel->temp_pmap, + panel->main_win, + server.gc, + 0, + 0, + panel->area.width, + panel->area.height, + 0, + 0); if (panel == (Panel *)systray.area.panel) { if (refresh_systray && panel && !panel->is_hidden) { refresh_systray = FALSE;@@ -1741,16 +1751,6 @@ XSetWindowBackgroundPixmap(server.display, panel->main_win, panel->temp_pmap);
refresh_systray_icons(); } } - XCopyArea(server.display, - panel->temp_pmap, - panel->main_win, - server.gc, - 0, - 0, - panel->area.width, - panel->area.height, - 0, - 0); } } if (first_render) {