Re: Reminder: shared library applets deskguide and tasklist.



On 22 Jan 2001, jacob berkman wrote:

> What it does:

>  * it is smarter about when to layout / what to redraw

from what i figured, you're still making explicit redrawing (layouting) calls
from assorted code portions, such as after you send a window to a different
workspace.
unless you screwed your gwmh callbacks, that should really not be neccessary,
as the gwmh code will notify you of anything interesting happening on the
desktop, e.g. global task list changes, specific task property changes etc..

so basically, with well structured code, you setup one desktop handler:

static gboolean
desk_func (gpointer         desk_data,
           GwmhDesk        *desk,
           GwmhDeskInfoMask change_mask) {...}
gwmh_desk_notifier_add (desk_func, desk_data);

and one handler per task:

static gboolean
task_func (gpointer           func_data,
           GwmhTask          *task,
           GwmhTaskNotifyType ntype,
           GwmhTaskInfoMask   imask) {...}
gwmh_task_notifier_add (task_func, task_data);

and then handle all the redraws/layouting from desk_func and task_func,
both of which even come with a change mask to figure what desk/task
structure portions changed.

or, if you're lazy, you just queue an idle handler (with priority
smaller than GWMH_PRIORITY_UPDATE) in desk_func and task_func
and redraw everything from there.

in either case there's no need to do explicit redrawing/layouting at all,
if you have to do that, you most probably are missing important change
notification for desktop modifications not caused by the tasklist.


> 
> jacob

---
ciaoTJ





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]