Re: Addition for pager layout.



Hi,

We sort of dropped this issue (desktop layout, see appended mail) a
while back, but it's suddenly dawned on me that we really need a
solution. ;-) I assume KDE 3 just ended up with a _KDE_DESKTOP_LAYOUT
hint, we can do _GNOME_DESKTOP_LAYOUT too but I don't really see a
reason this can't be sorted out.

BTW, I ran Metacity under KDE the other day and it worked great on the
first try - the only problem I had was the popup window from the KDE
desktop switcher, which has type TOOLBAR, should be type UTILITY -
TOOLBAR is supposed to be a torn-off toolbar with its own internal
drag handle. Though this is only clarified in the CVS version of the
spec I guess so I can't blame anyone. Other than that the tasklist,
the pager, workspace switching, changing number of spaces,
iconification - it all worked flawlessly.

So on desktop layout - I had a couple of comments tickmarked in my 
mail folder - one from Sasha was the proposal for the generic 
layout spec that permitted workspaces to be arranged as a
4-dimensional hypercube ;-) the other was a suggestion from Olivier
that we use a root window property similar to _NET_NUMBER_OF_DESKTOPS
and let the pager ask to change that property.

My opinion is that we should use a root window property but just have
the pager set the property, because I'd consider the desktop layout
essentially a function of the pager rather than the window manager. My
only worry is that multiple pagers can overwrite each other. I suppose
we could solve that with a manager selection.

I'm personally happy with Waldo's proposal for the property contents,
just because I can't think of a desktop layout that I'd want to have
that isn't covered by Waldo's suggestion. I could live with Sasha's
proposal though as long as the pager sets the property, because I can
easily see how the window manager could handle arbitrary desktop
arrangements. On the other hand I really would not like Sasha's
proposal if the property were controlled by the window manager,
because I think it would be really difficult (or rather, impossible)
to write a pager that handled all the possible layouts. Basically if
the pager controls things you know that only layouts the pager can
handle will exist. If the WM controlled the propery I'm pretty sure
most pagers would only handle the simple grid thing anyhow.

What do others think? Any new opinions after all this time?

Havoc


Waldo Bastian <bastian kde org> writes:
> Hi,
> 
> I would like to propose an addition for the NET spec that defines the layout 
> of the virtual desktops. The rationale is that a pager may define a certain 
> layout for the various virtual desktops and that it should be able to inform 
> the window manager about this so that the window manager can implement an 
> action like "select the virtual desktop to the right of the current one" in a 
> meaningfull way.
> 
> This is needed for (at least) KDE since the orientation of the KDE panel 
> influences the layout of the pager that is embedded in the panel while the 
> window manager handles the "select desktop left/right/up/down" action which 
> can be bound to keybindings or can be used by the "active/eletric desktop 
> border" feature of the window manager.
> 
> _NET_DESKTOP_LAYOUT orient, x, y, CARDINAL[][3]/32
> 
> A Window Manager MAY choose to ignore this message
> 
> Structure describing the layout of virtual desktops relative to each other.
> 
> The virtual desktops are being laid out in a rectangular fashion with
> x desktops next to each other and y desktops above each other.
> x times y must match the total number of desktops as specified by 
> _NET_NUMBER_OF_DESKTOPS. Either x or y (but not both) may be specified as -1 
> in which case its actual value will be derived from _NET_NUMBER_OF_DESKTOPS.
> 
> When orient is _NET_WM_ORIENTATION_HORZ the layout for x=4 and y=3 looks
> like:
> 
> +--+--+--+--+
> | 1| 2| 3| 4|
> +--+--+--+--+
> | 5| 6| 7| 8|
> +--+--+--+--+
> | 9|10|11|12|
> +--+--+--+--+
> 
> When orient is _NET_WM_ORIENTATION_VERT the layout for x=4 and y=3 looks
> like:
> 
> +--+--+--+--+
> | 1| 4| 7|10|
> +--+--+--+--+
> | 2| 5| 8|11|
> +--+--+--+--+
> | 3| 6| 9|12|
> +--+--+--+--+
> 
>  
> #define _NET_WM_ORIENTATION_HORZ 0
> #define _NET_WM_ORIENTATION_VERT 1
> 
> _______________________________________________
> wm-spec-list mailing list
> wm-spec-list gnome org
> http://mail.gnome.org/mailman/listinfo/wm-spec-list



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