Re: [As-users] 2.2.1, compiling, debugging, placement

Sasha Vasko (sasha@aftercode.net)
Tue, 28 Mar 2006 17:34:26 -0600




Juergen Leising wrote:
> Hi,
> 1. configure and autoconf/configure.in:
> 2. src/tools/ASWallpaper/interface.c: around line 443:
> 3. src/afterstep/afterstep.c:
> 5. libAfterBase/output.h:

All of the above implemented in CVS now. Thanks alot!

> 6. And now one of the major problems:
> 
> The whole placement system of afterstep-2.x.x is completely
> messed up. The basic requirement of a window manager
> is that it manages windows without provoking major

Nope, the basic requirements is that it has to comply to ICCCM standard :)

> headaches. I did dig into that a bit, but after all
> I didn't get it, at least not that quickly. For example
> look at
> 	libAfterStep/hints.h
> /* AS Startup flags :                                      */
> #define AS_StartPosition        (1<<0)
> #define AS_StartPositionUser    (1<<1)
> #define AS_Position             (1<<1)

Under ICCCM there could be two types of position requested by the 
client: user and program. Now User position is considered to be 
mandatory, while PPosition is optional and WM is free to ignore it.

> 
> Two different flags share the same value. Small wonder, that
> 	xeyes
> on let's say the fourth viewport starts correctly inside the current
> viewport, whereas
> 	xeyes -geometry +100+100
> does not: It pops up coercively on the 1st viewport.
> Why? Because the second window will take a different

User position is treated as ABSOLUTE POSITION ON VIRTUAL SCREEN RELATED 
TO THE ORIGIN OF THE DESKTOP,

while PPosition is treated as relative to current viewport. Rationale: 
if USPosition was treated relative to current viewport, there would be 
no way to position windows on viewports other then current, from say a 
startup script. This really is unspecified in ICCCM but it should be, 
and I attempted to clarify it in Extended WM specs, but noone was 
interested. See: 
http://mail.gnome.org/archives/wm-spec-list/2005-October/thread.html

AfterStep has an option of selectively overriding this behavior via:
UseCurrentViewport option in database.
Also NoPPosition is usefull too, if it is required to alter treatment of 
PPosition

> Separating  AS_StartPosition and AS_StartPositionUser from
> AS_Position, btw, did stop that coercive movement to the very
> first viewport. But this confused the winlist, the pager
> the wharf and the monitoring wharf.

Bad idea.

> 7. Makefiles:
 >
 > Please switch to autoconf and automake eventually. They produce
 > better Makefiles than the current ones. The latter simply ignore

Well, I really have no idea nor desire to learn as to how to convert 
current complicated system of Makefiles with lots of special targets to 
use automake, so I personally ain't gonna do that. Would not mind if 
someone else did that though, as long as nothing gets broken in the 
process (highly unlikely).


> Bye, Juergen

Thanks again
Sasha
_______________________________________________
As-users mailing list
As-users@afterstep.org
http://mail.afterstep.org/mailman/listinfo/as-users