Re: Addition for pager layout.



----- Original Message -----
From: "Havoc Pennington" <hp redhat com>
To: "Sasha Vasko" <sasha aftercode net>
Cc: "Waldo Bastian" <bastian kde org>; <wm-spec-list gnome org>
Sent: Sunday, December 02, 2001 11:09 AM
Subject: Re: Addition for pager layout.


>
> Sasha Vasko <sasha aftercode net> writes:
> > It would be much cooler if Pager could send messages like :
> >
> > _NET_DESKTOP_NEIGHBOUR   desk,relationship,neighbour, CARDINAL[3]/32
> >
> > where relationship is one of:
> >
> > _NET_DESKTOP_NEIGHBOUR_WEST
> > _NET_DESKTOP_NEIGHBOUR_NORTH
> > _NET_DESKTOP_NEIGHBOUR_EAST
> > _NET_DESKTOP_NEIGHBOUR_SOUTH
> > _NET_DESKTOP_NEIGHBOUR_ABOVE
> > _NET_DESKTOP_NEIGHBOUR_BELOW
> >
> > _NET_DESKTOP_NEIGHBOUR_FORGET ( to drop relationship between desks)
>
> I don't know - cool, but I get really unhappy if I start thinking
> about having to implement it. ;-)

Well, consider this implementation on the side of the wm :

enum Relationships{west,north,east,south,all};
struct Desktop { ....  int neighbours[all]; ... } ;

void change_desktop_rel( int dir )
{        change_desktop( CurrentDesktop.neighbours[dir]); }

Its as easy as it gets.
Things on Pager side get a bit more complex, but still
its relatively simple.

> Also, I'm trying to imagine a pager that handled arbitrary
> arrangements, would it potentially look like this:
>
>     []
>   [][][][][]
>   []  []        []
>       [][][][][][]
>             []
>

Well this is sort of extreme, but consider cross-like configuration :

   []
[][][]
   []



Anyway, I don't see why Pager should impose rectangular order of desktops on
Window Manager.

Again there could be vertical semantics of connection between desktops  in
addition to
horizontal.

also consider rollover scenario :
lets say current desktop is the leftmost, and user wants to change desktop
to the left -
you could do three things - refuse, go the the rightmost  in the same row,
or in previous row. Pager could request specific behaviour with my approach.

> I mean, that's sort of weird. The pager code I initially implemented
> for GNOME 2 doesn't like anything other than grids.

I think we should not enforce rectangular patterns on Window Manager -
we should leave some space for flexibility and extensibility.

>
> Havoc

Sasha





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