opensubscriber
   Find in this group all groups
 
Unknown more information…

f : fvwm@lists.math.uh.edu 8 July 2009 • 5:30AM -0400

Re: FVWM: Perl Module question (EwmhBaseStruts info)
by Thomas Adam

REPLY TO AUTHOR
 
REPLY TO GROUP




2009/7/7 Kathryn Andersen <kat_lists@kats...>:
> On Tue, Jul 07, 2009 at 09:37:11PM +0100, Thomas Adam wrote:
>> 2009/7/7 Kathryn Andersen <kat_lists@kats...>:
>> > And, yes, I am aware of FvwmRearrange, but it doesn't do what I want;
>> > I want to be able to say "give me a two-column layout" and have two
>> > columns even if there are three windows on the current page.
>>
>> But that's exactly what you *can* do --- it's just not obvious.  If
>> you'd care to give a more detailed example, I can show you how it can
>> be done with FvwmRearrange too.
>
> Really?  I've gone over the man page, and experimented, and haven't been
> able to get that effect.

I said to you it was non-obvious.  I won't be giving you the solutions
as I don't have an interest in doing this myself -- but I will give
you hints.

> Here's some more detailed examples...
>
> Layout A: Two Columns
>
> FvwmRearrange -m
> 2 Windows: 2 columns (good)
> 3 Windows: 3 columns (not want)

The trick to this, and *all* of these is to mark windows as ignorable
by FvwmRearrange.  You can do this by using the following:

* Mark a window as being ignorable by FvwmRearrange.
* Tile all others.

As in:

DestroyFunc Arrange
AddToFunc Arrange
+ I ThisWindow (Transient) Break
+ I ThisWindow (!Focused) Focus
+ I Current WindowStyle WindowListSkip
+ I Schedule 250 Module FvwmRearrange -tile -noraise -u -m -mn 2 $0
+ I Current WindowStyle WindowListHit
+ I UpdateStyles

The point here is the WindowListSkip / WindowListHit conditions which
FvwmRearrange will listen to.  WindowListSkip windows (i,e., those
with that style set) are ignored by FvwmRearrange.   Those with
WindowListHit are not.  So armed with that knowledge you should be
able to approximate your layouts from XMonad.

To achieve some of your other layouts, what you might want to do is
set a State (see "man fvwm") property on certain windows, so you're
then able to condition when/when not to apply WindowList{Skip,Hit}
rules, for instance.

Note that I have several patches to FvwmRearrange floating around --
mostly to make it useful for use with "ModuleSynchronous" - but I
haven't commited it upstream yet, and likely won't given my current
workload on FVWM as it is for a while.

If this approach still isn't useful to you, I would seriously augment
FvwmRearrange.  If you're not capable of doing that yourself, make a
list and I will add it to my todo list; the code for FvwmRearrange is
not complex.

-- Thomas Adam


Bookmark with:

Delicious   Digg   reddit   Facebook   StumbleUpon

Related Messages

opensubscriber is not affiliated with the authors of this message nor responsible for its content.