Question about the WNCK dependency (pager)

Andrzej ndrwrdck at googlemail.com
Mon Nov 28 10:07:07 CET 2011


On 11/28/2011 03:33 PM, Nick Schermer 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.

There is one more thing I want to ask you about.

Currently WNCK pager tries to take the ownership of the workspace 
management. You can see it for example in the settings of the number of 
rows of workspaces, which are currently placed in the pager settings 
(rather than workspace settings). This means that there is one "master" 
pager that is tied to the desktop and potentially more, which are in a 
"read only" mode (except that atm they don't update properly). Try to 
add several panels, each with a pager on it and look how weird the 
"slave" pagers behave when you start changing their orientations or 
number of rows.

Libwnck upstream proposed to do the same with the orientation and 
"starting corner" settings, which I need for making the pager work well 
in the vertical mode. This complicates things even further, as for 
example rotating a "master pager" physically rotates the whole desktop. 
While this is supported by the EWMH spec:
http://specifications.freedesktop.org/wm-spec/wm-spec-latest.html#id2550891
I don't think we should rather leave the desktop in its original 
(horizontal) layout and only rotate the view (pager).

Frankly speaking I think this design is poorly partitioned, which is one 
reason why the wnck pager is so inflexible. What I'd like to do instead 
is to:
- stop the pager setting the workspace layout,
- move the workspace layout settings to the workspace settings dialog 
(where IMHO it belongs),
- make sure that all the pagers (and the WM) are correctly updated when 
the workspace layout settings change,
- add view-specific options to the pager itself (for example a rotated 
left/right view).

Do you think this is a good thing to do? Or should we rather stick to 
the upstream design where the pager _is_ the workspace?

Andrzej


More information about the Xfce4-dev mailing list