Question about the WNCK dependency (pager)

Andrzej ndrwrdck at googlemail.com
Sun Nov 27 14:54:03 CET 2011


On 11/27/2011 08:13 PM, Nick Schermer wrote:
>
>> It is possible that these patches will be accepted in 2.x tree. However, if
>> we wanted to use them we would have to bump the minimum version requirement
>> for libwnck.
>>
>> 1) Is that OK for 4.10?
>
> Depends, shouldn't be too new else "old" distros don't ship it. 2.30.4
> is in debian stable, so we can't go newer than that (as a rough
> guideline).

OK. As an alternative, we could add some IFDEFS (unfortunately there is 
no runtime version checking in libwnck-2.x) and implement the fixes on 
the "best effort" basis. Still pain in the neck, though.

>> 2) Can we simply ship a modified "pager.c" file from the libwnck with our
>> code? We could switch back to the upstream version when we move to Gtk-3.
[..]
> That is fine, but the code probably depends on a lot of internal stuff
> too.

Ouch. I forgot to check that.

Luckily the only (external) private API used in pager.c is a constant:
#define WNCK_ACTIVATE_TIMEOUT 1000
which is also used in tasklist.c (not used in the xfce pager). I'll just 
define it locally.

There are also some private functions in the pager, which are called 
from outside:

_wnck_window_set_as_drag_icon() a helper function called from selector.c 
and tasklist.c, neither of which is used in the xfce panel.

The functions:
_wnck_pager_get_n_workspaces()
_wnck_pager_get_workspace()
_wnck_pager_activate_workspace()
_wnck_pager_get_active_workspace()
_wnck_pager_get_workspace_name()
_wnck_pager_get_workspace_rect()

are called from workspace-accessible.c and pager-accessible.c, which is 
potentially a problem. We can either disable accessibility support or 
bring these files in as well (luckily they don't use other external 
private interfaces and are relatively small).

> The functions need to be renamed as well, but in fine with this.

OK.

> There are some other bugs as well in the pager that need fixing (in
> wnck).

Yup, I can see how it makes the xfce maintenance easier. It would be so 
much easier if we could always depend on the newest version of the library.

Thanks,

Andrzej


More information about the Xfce4-dev mailing list