Re: [As-users] Issues upgrading from 1.8.11 to 2.2.x

Sasha Vasko (
Thu, 05 Apr 2007 12:40:28 -0600

Felipe Sanchez wrote:
> Hello, I just upgraded from 1.8.11 and after a bit of tweaking got 
> everything working - sort of.
> I found three issues which I'm not sure if they're bugs or features  :-) 
> I'll explain:
> 1) Autoraise
> I like to use a combination of FocusFollowsMouse, SloppyFocus and 
> Autoraise. In 1.8.11 (And most other window managers with Autoraise 
> support) when I ask a window to "Unraise" (i.e it's overlapped on 
> another window which I want to raise) it will go under the other window 
> and stay there. Even if the mouse pointer still is over the original 
> (now unraised) window.
> In AS 2.2.x if I do the same thing, the window will unraise, then after 
> the Autoraise period has elapsed (500 ms for example) it will happily 
> raise itself to the top because the pointer was still over it. It is 
> kind of annoying and defeats the purpose of the unraise option in the 
> window ops menu. And as I said, most other wm's (AS 1.8 included) won't 
> autoraise something explicitely asked to be unraised, until the pointer 
> leaves it and then reenters it from another window.
> 2) Opening windows larger than the screen
> If I try to open a window with a geometry larger than the available 
> screen state (Say, 1280x1024 in a 1024x768 screen) weird things will 
> happen. In the most bening case it will be forcibly resized to the 
> current screen resolution. In the worst case (i.e. ImageMagick's display 
> utility) it will cause the window to be resized to about 50x50 pixels 
> across. I'm not sure why this happens, maybe the WM sends some kind of 
> resize event to the window?
> In AS 1.8 a big window would open at it's requested size, expanding 
> itself out of the physical screen onto the virtual desktop (Or outside 
> of it if it was in the desktop's border)
> 3) Wharf's withdraw behaviour
> In AS 2.2 Wharf's default WithdrawStyle would cause it to withdraw to a 
> corner when mouse button 3 was clicked over it, just like in AS 1.8. So 
> far so good.
> The difference is in the corner it withdraws to. In 1.8 it would 
> withdraw to the upper corner if the click was in the upper half of the 
> whole Wharf lenght and to the lower corner otherwise.
> In 2.2.x it always withdraws to the lower corner.
> Sometimes I need it in the upper one, sometimes in the lower. Now I 
> can't reproduce this behaviour, already tried all the WithdrawStyle's 
> listed in the man page with no success.
> If these are actually bugs I'll be happy to fix them and send in a patch 
> (Hey, I'll do it even if they are features because they really are 

Please do!

> keeping me from upgrading :P ). But since I'm not familiar with the AS 
> code any pointers as to where in the source start looking would be 
> greatly appreciated :-)

Firstly you want to build AS with --enable-gdb switch to configure - 
that will cause AS to dump megabytes of traces greately aiding in 
figuring out what is going on.

1) Is a bit tricky - we'd need to capture the sequence of 
EnterNotify/LeaveNotify events that happen when you unraise the window.
basically src/afterstep/event.c  for events handlers and 
src/afterstep/aswindow.c :restack_window() for raise.

2) Constraints logic is a complicated as well. You should be looking 
into : src/afterstep/winstatus.c and placement.c
Also src/libAfterStep/hinnts.c may play part in it as well.

3) src/Wharf/Wharf.c - should be easy. Actually I thought it was working 
like that already, but since I don't withdraw wharf normally - must have 
slipped past me.

E-mail the patches to me. If you find something else to work, I could 
give you a CVS write access.

Sasha Vasko
As-users mailing list