Subject: FVWM: icon handling in fvwm2

From: Austin Donnelly <[email-masked]>
Date: Thu, 2 Nov 1995 23:12:30 +0000 (GMT)

Hi,

The icon handling seems to have changed quite a bit in fvwm2.  Having
IconBoxes specifiable on a per icon basis is nice!

However, as far as I can see, it's now impossible to get the same
effect as StubbornIconPlacement used to - ie icons won't place
themselves under windows. The FAQ just says "(obsoleted)" - but it
doesn't mention how to get the same effect.

Would it be possible to have a style line saying how space for an icon
is to be searched for ?

Eg:

style "*" IconPlacement "IconBox&Visible, Anywhere&Visible, IconBox,
               Here, Anywhere"

(the "&Visible" suffix can be added to any condition).  I would
suggest that this line means use:

 (1) the iconbox if there's room in it & the icon wouldn't be under a
     window (invisible) or on top of another icon; otherwise:

 (2) anywhere, so long as the icon's visible and not on top of
     another; otherwise:

 (3) the iconbox if there's room and it wouldn't be on top of another;
     otherwise:

 (4) centered on the inconified window's previous location, if it
     wouldn't be on top of another icon; otherwise:

 (5) (getting desperate here:) just plonk it down anywhere - never mind
     if it hides another icon or is hidden by a window!

This scheme would give people the flexibility to have their icon's
dropped where they expect them. fvwm-1.24r used a placement scheme as
I've just suggested, but hard wired.  fvwm2 uses

Style "*" IconPlacement "IconBox, Here"

(I think)

Also, I think it's the case that fvwm2 doesn't allow you to overflow
an iconbox into another, like fvwm-1.24 used to.  I think this is a
wonderful feature, and miss it :)   Can the syntax for IconBox be
expanded to take multiple 4-tuples describing a series of boxes ?

I'll have a look at the icon placement code, to see how easy it might
be to generalise things...

Cheers,
Austin
--
To err is human; to really fuck things up requires the root password
--
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: Austin Donnelly <[email-masked]>
Date: Thu, 9 Nov 1995 01:17:48 +0000 (GMT)

On Thu, 2 Nov 1995, Austin Donnelly wrote:

> As far as I can see, it's now impossible to get the same

Well, I've now implemented this scheme.  The syntax has changed
slightly, the quotes (") being replaced by square brackets ([]).

Icon handling similar to fvwm-1.24 can be had by a line like:

Style "*" IconPlacement [IconBox&Visible, Anywhere&Visible, IconBox,
                      Anywhere, Here]

(line wrapped by me)

Could people please give my patches a spin, and see if I've left any
bugs ?

(patches are relative to fvwm-2.0pl38, gziped to save space)

Chuck, would you consider putting this patch into fvmw2 when it (the
patch) stabilises ?

Cheers,
Austin

------------------------------------------------------------
--
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: <[email-masked]> (Charles Hines)
Date: Thu, 9 Nov 1995 09:12:34 -0500

>>>>> "Austin" == Austin Donnelly <[email-masked]> writes:

Austin> On Thu, 2 Nov 1995, Austin Donnelly wrote:

Austin> Well, I've now implemented this scheme.  The syntax has
Austin> changed slightly, the quotes (") being replaced by square
Austin> brackets ([]).

Austin> Icon handling similar to fvwm-1.24 can be had by a line like:

Austin> Style "*" IconPlacement [IconBox&Visible, Anywhere&Visible, IconBox,
Austin>                       Anywhere, Here]

Austin> (line wrapped by me)

Austin> Could people please give my patches a spin, and see if I've
Austin> left any bugs ?

Austin> (patches are relative to fvwm-2.0pl38, gziped to save space)

Austin> Chuck, would you consider putting this patch into fvmw2 when
Austin> it (the patch) stabilises ?

Sounds interesting.  I'll check it out and if it seems ok and non
detrimental, sure I'll add it.

But why did you change the "" to []?

Chuck

---

From: Austin Donnelly <[email-masked]>
Date: Thu, 9 Nov 1995 14:23:38 +0000 (GMT)

On Thu, 9 Nov 1995, chuck_hines wrote:

[...]
> Austin> changed slightly, the quotes (") being replaced by square
[...]
> But why did you change the "" to []?

Cosmetics mainly :)

In a variety of languages, lists are formed using square brackets. I
originally thought using "" would be easier because a tokeniser might
pass the entire quoted string on, but it turned out that the parsing
code in parse.c wasn't so dependant on tokenising as I had imagined.

If the entire parse code is due for a re-write, then "" might make
more sense.

Austin

---

From: [email-masked]
Date: Fri, 10 Nov 1995 02:02:00 +0900

and1000> Well, I've now implemented this scheme.  The syntax has changed
and1000> slightly, the quotes (") being replaced by square brackets ([]).

May I ask you some questions ?

1) Why you remove 'the blackout window which is created when startup' ?

2) What's the default behavior, when no 'IconPlacement' is specified ?
   If nothing, how about setting up to:
	[IconBox&Visible, Anywhere&Visible, IconBox, Anywhere, Here]

3) How about writing manual entry of this feature :-)

- -
Makoto 'MAR_kun' MATSUSHITA
--
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: Austin Donnelly <[email-masked]>
Date: Thu, 9 Nov 1995 18:06:48 +0000 (GMT)

> 1) Why you remove 'the blackout window which is created when startup' ?

Oops - sorry, I had taken out the screen blanking so as I could see
what I was doing with gdb.  It was for debugging purposes only. I
meant to take that out of the final patch I sent, but forgot.

It's Chuck's decision as to what to do about screen blanking.

> 	[IconBox&Visible, Anywhere&Visible, IconBox, Anywhere, Here]

It defaults to the fvwm2 default, ie [IconBox] (actually, it probably
_should_ default to [IconBox, Here]) The real question is what should
happen when the list runs out/the icon can't be placed.  Currently, it
gets dumped at whatever the previous value of (icon_x_loc, icon_y_loc)
was (usually the pointer location?)

> 3) How about writing manual entry of this feature :-)

I'll have a go...

Austin

---

From: <[email-masked]> (Charles Hines)
Date: Fri, 10 Nov 1995 09:13:55 -0500

>> 1) Why you remove 'the blackout window which is created when startup' ?

Austin> Oops - sorry, I had taken out the screen blanking so as I
Austin> could see what I was doing with gdb.  It was for debugging
Austin> purposes only. I meant to take that out of the final patch I
Austin> sent, but forgot.

Austin> It's Chuck's decision as to what to do about screen blanking.

And I think I've made a good one.  For the next patchlevel, screen
blanking will be off by default, but can be turned on by invoking
fvwm2 with the parameter '-blackout', and it will be documented.

This way, people won't be confused at first, and after reading the
docs they may decide to turn it back on again to see if they get any
speedup in startup.  And those of you that like the feature can leave
it on all the time.

Chuck