Scrolling through tasks by schattenprinz

git-svn-id: http://tint2.googlecode.com/svn/trunk@275 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
thilor77
2009-11-18 05:13:38 +00:00
parent c7346fc56b
commit f43facc277
5 changed files with 71 additions and 1 deletions

View File

@@ -361,6 +361,55 @@ void draw_task (void *obj, cairo_t *c, int active)
}
Task *next_task(Task *tsk)
{
GSList *l0;
int i, j;
Task *tsk1;
for (i=0 ; i < nb_panel ; i++) {
for (j=0 ; j < panel1[i].nb_desktop ; j++) {
for (l0 = panel1[i].taskbar[j].area.list; l0 ; l0 = l0->next) {
tsk1 = l0->data;
if (tsk1 == tsk) {
if (l0->next == NULL) l0 = panel1[i].taskbar[j].area.list;
else l0 = l0->next;
return l0->data;
}
}
}
}
return NULL;
}
Task *prev_task(Task *tsk)
{
GSList *l0;
int i, j;
Task *tsk1, *tsk2;
for (i=0 ; i < nb_panel ; i++) {
for (j=0 ; j < panel1[i].nb_desktop ; j++) {
tsk2 = NULL;
for (l0 = panel1[i].taskbar[j].area.list; l0 ; l0 = l0->next) {
tsk1 = l0->data;
if (tsk1 == tsk) {
if (l0 == panel1[i].taskbar[j].area.list) {
l0 = g_slist_last ( l0 );
tsk2 = l0->data;
}
return tsk2;
}
tsk2 = tsk1;
}
}
}
return NULL;
}
void active_task()
{
GSList *l0;

View File

@@ -70,6 +70,9 @@ void get_icon (Task *tsk);
void get_title(Task *tsk);
void active_task();
Task *next_task (Task *tsk);
Task *prev_task (Task *tsk);
void add_urgent(Task *tsk);
void del_urgent(Task *tsk);
int is_urgent(Task *tsk);