Question about the WNCK dependency (pager)

Andrzej ndrwrdck at googlemail.com
Tue Nov 29 07:26:31 CET 2011


On 11/28/2011 06:07 PM, Andrzej wrote:
>
>> Only adding a copy of the page to the panel plugin is not a problem. I
>> don't expect any fixes in the gtk2 branch of libwnck, it was already
>> hard to get things fixed while it was still the main branch. We indeed
>> switched to libwnck to drop the netk code, but if there are bugs that
>> annoy us or we want to improve the code, we don't have much choice.
>
> Alright, then. I'll go ahead with this. I'll keep it in a separate
> branch, just in case.

I've ported wnck pager and fixed bugs I was aware of. It's now in the 
"pager-wnck" branch.

ATM, the pager still sets the n_rows property of the workspace layout, 
I'll remove it once we move the option to the workspace settings.

Some problems to be fixed:
1. Function _wnck_screen_get_workspace_layout() in wnck screen is not 
public and there is no direct way to query the number of rows (!?).

Workaround:
I'll iterate through workspace using wnck_workspace_get_neighbor() and 
get the last row number with wnck_workspace_get_layout_row()

2. There is no any signal that the workspace layout has changed.

Workaround:
- I'll poll the number of rows every time the widget is asked to 
relayout itself (this is in case if the workspace layout was changed 
from outside)
- somehow (ATM, I don't know how. Any advice?) propagate a signal from 
workspace layout settings to the pager widgets so that they can relayout 
themselves immediately after user changes the number of workspace rows 
in the workspace settings dialog.

3. Should we attempt to refactor the code a bit? Both pager-buttons and 
pager-wnck share a fair amount of functionality, which could be 
abstracted away. Not the most pressing issue, perhaps it could be done 
when porting Xfce to Gtk3.

Andrzej


More information about the Xfce4-dev mailing list