Question about the WNCK dependency (pager)
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:
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
- 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
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?
More information about the Xfce4-dev