fixed taskbar redrawing when pos/size changed
git-svn-id: http://tint2.googlecode.com/svn/trunk@583 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
parent
86cfa07735
commit
f9d2cc1b73
2 changed files with 17 additions and 0 deletions
|
@ -113,6 +113,7 @@ void init_taskbar_panel(void *p)
|
|||
panel->g_taskbar.area.size_mode = SIZE_BY_LAYOUT;
|
||||
panel->g_taskbar.area._resize = resize_taskbar;
|
||||
panel->g_taskbar.area._draw_foreground = draw_taskbar;
|
||||
panel->g_taskbar.area._on_change_layout = on_change_taskbar;
|
||||
panel->g_taskbar.area.redraw = 1;
|
||||
panel->g_taskbar.area.on_screen = 1;
|
||||
if (panel_horizontal) {
|
||||
|
@ -299,6 +300,21 @@ int resize_taskbar(void *obj)
|
|||
}
|
||||
|
||||
|
||||
void on_change_taskbar (void *obj)
|
||||
{
|
||||
Taskbar *tskbar = obj;
|
||||
int k;
|
||||
|
||||
// reset Pixmap when position/size changed
|
||||
for (k=0; k<TASKBAR_STATE_COUNT; ++k) {
|
||||
if (tskbar->state_pix[k]) XFreePixmap(server.dsp, tskbar->state_pix[k]);
|
||||
tskbar->state_pix[k] = 0;
|
||||
}
|
||||
tskbar->area.pix = 0;
|
||||
tskbar->area.redraw = 1;
|
||||
}
|
||||
|
||||
|
||||
void set_taskbar_state(Taskbar *tskbar, int state)
|
||||
{
|
||||
tskbar->area.bg = panel1[0].g_taskbar.background[state];
|
||||
|
|
|
@ -52,6 +52,7 @@ GPtrArray* task_get_tasks(Window win);
|
|||
void task_refresh_tasklist ();
|
||||
|
||||
int resize_taskbar(void *obj);
|
||||
void on_change_taskbar (void *obj);
|
||||
void set_taskbar_state(Taskbar *tskbar, int state);
|
||||
|
||||
// show/hide taskbar according to current desktop
|
||||
|
|
Loading…
Reference in a new issue