Subject: FVWM: Placement tuning

From: Uwe Pross <[email-masked]>
Date: Wed, 10 Sep 2003 11:32:08 +0200

Hi there,

Since I got an  application  which  opens  small  windows  a
couple   of  times  I  switched  to  CascadePlacement  since
TileCascadePlacement caused fvwm to  place  the  windows  at
different positions on the screen which is quite annoying. 

However, I like the CascadePlacement style, except  that  if
there  is  no  uniconified  window  on  the  current page it
sometimes places the window  as  if  there  would  be  other
windows.  I  would like if the new window is the only one on
the page fvwm would place it at the  top  left  corner.  The
next  window  should  be  placed  in  cascading style. Icons
should be fully ignored. So new  windows  should  be  always
placed  at  the top left corner if there is not other window
on the page e.g. in the working area. 

Can this be achieved?

BTW:  I  got  a  couple   of   applications   swallowed   by
FvwmButtons. Maybe the confuse the placement. 

Thanks in advance.

Cheers, Uwe
-- 
  ,_,   For personal reply/mail put "fvwm"
 (O,O)  in the subject.
 (   )  Otherwise I won't receive our mail.
--"-"----------------------------------------
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Dominik Vogt <[email-masked]>
Date: Wed, 10 Sep 2003 12:11:22 +0200

> on the page e.g. in the working area. 

With FvwmEvent, if you don't mind the flashing.

> FvwmButtons. Maybe the confuse the placement. 

Yes, they do.  You can make the swallowed apps appear somewhere
off screen before swallowing them.  For example, I have this in
my config:

  *FvwmButtons(Swallow FvwmPager 'FvwmPager * * \
    -geometry 40x40-2000-2000')
                   ^^^^^^^^^^

Ciao

Dominik ^_^  ^_^

---

From: Uwe Pross <[email-masked]>
Date: Wed, 10 Sep 2003 12:59:35 +0200

Hi there,

> With FvwmEvent, if you don't mind the flashing.

For the moment I want to see how it goes without
FvwmEvent. I don't like to overuse FvwmEvent.

>     -geometry 40x40-2000-2000')

Tricky. Using this helps a bit. But the behaviour is still
strange to me. 
Repeated use of PlaceAgain on a window moves it towards the
bottom right corner - even if it is the only window on the
page. 

Is there a way to reset the cascade algorithm? I think a
function which is executed when I entering a page like:

AddToFunc ResetCascadePlacementWhenEmpty
+ I None (CurrentPage, !CirculateHit) ResetCascadePlacement

would help a lot. Maybe a ReadjustCascadePlacement function
which takes existing windows into account is even better.

Cheers, Uwe

---

From: Thomas Adam <[email-masked]>
Date: Wed, 10 Sep 2003 11:15:05 +0100 (BST)

> Hi there,

Hello, Uwe
 
> windows.  

> I  would like if the new window is the only one on
> the page fvwm would place it at the  top  left  corner.  

Assuming that this window is the initial window when the program loads,
you can use FvwmEvent to achieve this:

----------------------------------------------
*FvwmEvent-MyWin: StartDelay 4
*FvwmEvent-MyWin: add_window FuncWarptoLocale

AddToFunc FuncWarptoLocale
  + I Next ("The_Window") Move 0 0

AddToFunc StartFunction I Module FvwmEvent-MyWin
---------------------------------------------------

(where "The_Window" is the window you want to move -- I have not tested
the above, mind.)

> The
> next  window  should  be  placed  in  cascading style. 

If the window is a transient window then you can do the same thing above,
i.e.

------------------------------
AddToFunc FuncWarptoLocale
  + I Next ("The_Window") Move 0 0
  + I Style $0 CascadePlacement
-----------------------------------
> Icons

> Can this be achieved?

Perhaps, if you try and edit my example.
 
> FvwmButtons. Maybe the confuse the placement. 

HTH,

-- Thomas Adam

=====
Thomas Adam

"The Linux Weekend Mechanic" -- www.linuxgazette.com

________________________________________________________________________
Want to chat instantly with your online friends?  Get the FREE Yahoo!
Messenger http://mail.messenger.yahoo.co.uk