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.size_mode = SIZE_BY_LAYOUT;
|
||||||
panel->g_taskbar.area._resize = resize_taskbar;
|
panel->g_taskbar.area._resize = resize_taskbar;
|
||||||
panel->g_taskbar.area._draw_foreground = draw_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.redraw = 1;
|
||||||
panel->g_taskbar.area.on_screen = 1;
|
panel->g_taskbar.area.on_screen = 1;
|
||||||
if (panel_horizontal) {
|
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)
|
void set_taskbar_state(Taskbar *tskbar, int state)
|
||||||
{
|
{
|
||||||
tskbar->area.bg = panel1[0].g_taskbar.background[state];
|
tskbar->area.bg = panel1[0].g_taskbar.background[state];
|
||||||
|
|
|
@ -52,6 +52,7 @@ GPtrArray* task_get_tasks(Window win);
|
||||||
void task_refresh_tasklist ();
|
void task_refresh_tasklist ();
|
||||||
|
|
||||||
int resize_taskbar(void *obj);
|
int resize_taskbar(void *obj);
|
||||||
|
void on_change_taskbar (void *obj);
|
||||||
void set_taskbar_state(Taskbar *tskbar, int state);
|
void set_taskbar_state(Taskbar *tskbar, int state);
|
||||||
|
|
||||||
// show/hide taskbar according to current desktop
|
// show/hide taskbar according to current desktop
|
||||||
|
|
Loading…
Reference in a new issue