diff -aurN fbpanel.orig/dclock.c fbpanel.cvs/dclock.c --- fbpanel.orig/dclock.c 2004-05-23 21:48:58.000000000 +0200 +++ fbpanel.cvs/dclock.c 2004-10-08 21:27:35.000000000 +0200 @@ -47,11 +47,12 @@ static gint clock_update(gpointer data ) { - char output [40] ; + char output [64] ; time_t now ; struct tm * detail ; dclock *dc; - + gchar *utf8; + ENTER; g_assert(data != NULL); dc = (dclock *)data; @@ -65,7 +66,10 @@ dc->lastDay = detail->tm_mday ; strftime (output, sizeof(output), dc->tfmt, detail) ; - gtk_tooltips_set_tip(dc->tip, dc->main, output, NULL) ; + if ((utf8 = g_locale_to_utf8(output, -1, NULL, NULL, NULL))) { + gtk_tooltips_set_tip(dc->tip, dc->main, utf8, NULL) ; + g_free(utf8); + } } RET(TRUE); } diff -aurN fbpanel.orig/pager.c fbpanel.cvs/pager.c --- fbpanel.orig/pager.c 2004-06-15 03:59:26.000000000 +0200 +++ fbpanel.cvs/pager.c 2004-10-08 22:07:16.000000000 +0200 @@ -115,7 +115,7 @@ 0, 0, widget->allocation.width, widget->allocation.height); - + RET(); } @@ -275,6 +275,7 @@ desk_set_dirty(p, t); if (p->focusedtask == t) p->focusedtask = NULL; + DBG("del %x\n", t->win); g_free(t); return TRUE; } @@ -385,6 +386,7 @@ get_sizepos(t); XSelectInput (GDK_DISPLAY(), t->win, PropertyChangeMask | StructureNotifyMask); g_hash_table_insert(p->htable, &t->win, t); + DBG("add %x\n", t->win); desk_set_dirty(p, t); } } @@ -420,9 +422,10 @@ task *t; ENTER; - DBG("win=0x%x\n", win); + if (!(t = g_hash_table_lookup(p->htable, &win))) RET(); + DBG("win=0x%x\n", win); get_sizepos(t); desk_set_dirty(p, t); pager_redraw_if_dirty(p); @@ -642,7 +645,7 @@ //pg->htable = g_hash_table_new (g_int_hash, g_int_equal); pager_rebuild_all(pg); - //do_net_client_list_stacking(pg); + do_net_client_list_stacking(pg); pager_redraw_if_dirty(pg); XSelectInput (GDK_DISPLAY(), GDK_ROOT_WINDOW(), PropertyChangeMask); //XSelectInput(GDK_DISPLAY(), topxwin, PropertyChangeMask|FocusChangeMask|StructureNotifyMask);