_NET_WORKAREA and Xinerama

Carsten Haitzler (The Rasterman) raster at rasterman.com
Wed Oct 25 02:14:05 EEST 2006


On Tue, 24 Oct 2006 19:38:05 +0400 "Oleg Sukhodolsky" <son.two at gmail.com>
babbled:

> On 10/24/06, The Rasterman Carsten Haitzler <raster at rasterman.com> wrote:
> > On Tue, 24 Oct 2006 18:06:43 +0400 "Oleg Sukhodolsky" <son.two at gmail.com>
> > babbled:
> >
> > > But results you will have may differ from the area which WM consider
> > > as workarea.
> >
> > correc - the wm gets to decide how to figure it out. the user then gets to
> > tell the wm what algorithm or method to use (minimum area, generous,
> > shaped, maximum etc. etc.)
> 
> So, if we want to be consistent with WM we have to use _NET_WORKAREA,
> but it doesn't work for Xinerama and this returns us to beginning of
> the discussion :(

no - _NET_WORKAREA is broken in that it defines a single area only. if you
define such region(s) by simply placing panels or "fake obstacles" around the
edges of your screen, the wm can figure out what the workarea is - the wm then
can handle maximizing and fullscreening of windows as it sees fit based on
it's interpretation. wrt. filemanager's icons i can see how not knowing this
area can then be a problem - but the fact that it is just a simple rectangle
is  too limiting. i.e.:

# = panel.
. = current workarea
: = actual usable workarea
+----------------------+
|##::::::::::::::::::##|
|......................|
|......................|
|......................|
|:::::::::::::::#######|
+----------------------+

the old "workarea" limits you to the "." region. in theory icons windows etc.
can be placed and "maximised" to use the ":" regions too. the "work area" is a
region of "rectangles" where count is >= 1 that together form a shape/region.
imho something (let's say the wm) is in charge of taking the obstacles ("#"
windows) and figuring out what regions outside these windows it wants to use
for what. xinerama just extends this model to the below:
+----------------------+----------------------+
|##::::::::::::::::::##|####::::::::::::::::##|
|......................|:.....................|
|......................|#.....................|
|......................|#.....................|
|:::::::::::::::#######|----------------------+
+----------------------+

for example. so what you actually need is a way of defining N regions with each
using M rectangles.

2 ways to do this.
1. provide multiple windows - never map them, set their shape. add properties
to them so any app can find them (make them immediate children of root). then u
can get their shape. problem - this relies on the shape extension existing. a
pretty good bet these days, but maybe in principle a bad thing to have as a
standard for netwm stuff.
2. extends the workarea property and place it on 2 windows (as above) and allow
N sets of co-ords (N*4 card's) and thus be able to have multiple regions each
with multipe rects. wm should list the largest (main rect) first to save extra
processing by clients - but the extra rects can cover all the other extents
that can be used too.

> Oleg.
> 
> > > Oleg.
> > >
> > > On 10/24/06, The Rasterman Carsten Haitzler <raster at rasterman.com> wrote:
> > > > On Tue, 24 Oct 2006 17:06:57 +0400 "Oleg Sukhodolsky"
> > > > <son.two at gmail.com> babbled:
> > > >
> > > > > Hi,
> > > > >
> > > > > I need to know workarea, but it looks like it doesn't work well for
> > > > > Xinerama : (
> > > > >
> > > > > I've found couple discussions on this subject:
> > > > >
> > > > > http://mail.gnome.org/archives/wm-spec-list/2003-March/msg00003.html
> > > > > http://mail.gnome.org/archives/wm-spec-list/2004-March/msg00000.html
> > > > >
> > > > > So, are there any plans to enhance the spec to work well with
> > > > > Xinerama?
> > > >
> > > > personally i think workarea is not that useful - "work area"(s) can be
> > > > calculated FROM known obsctacles on screens (like panels, etc. etc.).
> > > > all you need is a way of providing virtual obstacles.
> > > >
> > > > > Thanks, Oleg.
> _______________________________________________
> xdg mailing list
> xdg at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xdg
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    raster at rasterman.com
裸好多
Tokyo, Japan (東京 日本)



More information about the xdg mailing list