memorized taskbar pixmap. So we don t redraw taskbar/task when switching desktop.

git-svn-id: http://tint2.googlecode.com/svn/trunk@577 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
thilor77
2010-10-23 11:16:29 +00:00
parent ad716c907a
commit c01b7f480e
5 changed files with 54 additions and 28 deletions

View File

@@ -10,6 +10,7 @@
#include "task.h"
enum { TASKBAR_NORMAL, TASKBAR_ACTIVE, TASKBAR_STATE_COUNT };
extern GHashTable* win_to_task_table;
extern Task *task_active;
extern Task *task_drag;
@@ -21,6 +22,8 @@ typedef struct {
Area area;
int desktop;
int current_state;
Pixmap state_pix[TASKBAR_STATE_COUNT];
// task parameters
int text_width;
@@ -30,8 +33,9 @@ typedef struct {
typedef struct {
//always start with area
Area area;
Background* bg;
Background* bg_active;
Background* background[TASKBAR_STATE_COUNT];
//Background* bg;
//Background* bg_active;
} Global_taskbar;
@@ -44,12 +48,14 @@ void cleanup_taskbar();
void init_taskbar();
void init_taskbar_panel(void *p);
void draw_taskbar (void *obj, cairo_t *c);
void taskbar_remove_task(gpointer key, gpointer value, gpointer user_data);
Task *task_get_task (Window win);
GPtrArray* task_get_tasks(Window win);
void task_refresh_tasklist ();
int resize_taskbar(void *obj);
void set_taskbar_state(Taskbar *tskbar, int state);
// show/hide taskbar according to current desktop
void visible_taskbar(void *p);