Subject: Re: FVWM: Re: [PATCH] Icon alignment for fvwm-2.0.39

From: Dick Streefland <[email-masked]>
Date: Wed, 20 Dec 1995 11:57:52 +0100

On Tue, 19 Dec 1995, Nan Zou wrote:

| I disagree, having an icon grid makes much sense inside the icon box
| since you want a rigid arrangement of icons inside the box.  But outside
| of the icon box I want to place the icons wherever I choose.  One thing
| I hate about some UIs is that they snap the icon to some pre-defined
| grid instead of where you originally place it, this goes against the 
| Unix/X philosophy of flexibility and user-control.

Well, this seems to be a matter of taste. I really don't want to
start another flame war, but when I specify an alignment for my icon
box at the left side of the screen, and I move some icons to the right
side of the screen, I also want them to be aligned. When you ask me,
not being able to specify an alignment outside an icon box goes
against the Unix/X philosophy of flexibility and user-control :-).

Perhaps we could come up with a really flexible solution that supports
both preferences. For example, you could treat an IconGrid differently
when it is specified together with an IconBox in the same Style
definition:

   Style "*"   IconBox 0 0 800 100, IconGrid 70 92 10 6
vs.
   Style "*"   IconBox 0 0 800 100
   Style "*"   IconGrid 70 92 10 6

In AddToList(), you can detect that IconBox and IconGrid are used in
the same Style definition and set a flag in the name_list_struct in
this case. However, the difference might be a little to subtle to
document, and we are better off with an additional keyword to set a
flag?

--
Dick Streefland              ////         Tasking Software BV
[email-masked]            (@ @)             The Netherlands
------------------------oOO--(_)--OOo------------------------
--
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: Wed, 20 Dec 1995 09:34:10 -0500

>>>>> "Dick" == Dick Streefland <[email-masked]> writes:

Dick> On Tue, 19 Dec 1995, Nan Zou wrote:

Nan> I disagree, having an icon grid makes much sense inside the icon
Nan> box since you want a rigid arrangement of icons inside the box.
Nan> But outside of the icon box I want to place the icons wherever I
Nan> choose.  One thing I hate about some UIs is that they snap the
Nan> icon to some pre-defined grid instead of where you originally
Nan> place it, this goes against the Unix/X philosophy of flexibility
Nan> and user-control.

Dick> Well, this seems to be a matter of taste. I really don't want to
Dick> start another flame war, but when I specify an alignment for my
Dick> icon box at the left side of the screen, and I move some icons
Dick> to the right side of the screen, I also want them to be
Dick> aligned. When you ask me, not being able to specify an alignment
Dick> outside an icon box goes against the Unix/X philosophy of
Dick> flexibility and user-control :-).

Actually, the whole concept of the IconBox being moved into the Style
command is so that you hopefully don't have to manually move your
icons.  If you like all of your xterm icons in one area, and all of
your Emacs icons in another:

  Style "XTerm" IconBox <region 1>
  Style "Emacs" IconBox <region 2>

But this is beside the point.

Dick> Perhaps we could come up with a really flexible solution that
Dick> supports both preferences. For example, you could treat an
Dick> IconGrid differently when it is specified together with an
Dick> IconBox in the same Style definition:

Dick>    Style "*"   IconBox 0 0 800 100, IconGrid 70 92 10 6
Dick> vs.
Dick>    Style "*"   IconBox 0 0 800 100
Dick>    Style "*"   IconGrid 70 92 10 6

Dick> In AddToList(), you can detect that IconBox and IconGrid are
Dick> used in the same Style definition and set a flag in the
Dick> name_list_struct in this case. However, the difference might be
Dick> a little to subtle to document, and we are better off with an
Dick> additional keyword to set a flag?

Actually, this suggestion really doesn't make sense.  Since the Style
commands set up this way are cummulative for all other things, this
would be confusing.

I don't think that the concept of an IconGrid needs to be on a per
window basis (and I really don't want to add another sizeable field to
the FvwmWindow structure), but it might be useful as a global option
that controls free icon placement.  Something that would cause moving
any icon to snap to this grid.  It could have additional options like
num of grid columns and rows, alignment options (AlignBottom,
AlignMiddle, AlignTop), justification (Centered, RightJustified,
LeftJustified), etc.  Like so:

  IconGrid 40x30, AlignBottom, Centered
  Style "*" IconBox 0 0 20 800

This example would by default place icons down the left side of the
screen, but if you decided to move them manually they would snap to a
40x30 grid (compassing the whole screen) and Align at the bottoms of
each grid square, centered in it horizontally.  And the default would
be "None" for no IconGrid.  And a similiar optional gridding scheme
could be added as an option to the IconBox as well.

I also have another IconPlacement patch from Austin Donnelly to look
at more closely.  And another thing that might be interesting would be
the ability to stuff an icon that you moved by hand back into an
IconBox area.

This is all on the TO-DO list now.  If I can find (or someone
suggests) a good way to consolidate all of this into one easy to
understand way with consistent syntax, I'll let you all know the
resulting idea to see if it meets everyones greatest wishes and
desires for icon handling in fvwm...

Regardless, none of these ideas would get incorporated until after the
first official release, whenever that might actually happen.  I hope
to do a lot more cleanup over my vacation (which starts this evening)
and perhaps make it a New Years gift to the internet.  And maybe I'll
get 2.0.40 out today before I go on vacation (but I'm making no
promises there, of course).

Chuck