Subject: FVWM: FvwmGeom module

From: Elad Eyal <[email-masked]>
Date: Mon, 18 Aug 1997 23:39:17 +0300 (IDT)

Good morning,

	I've searched and searched... there really is no way for a module
to get a window's aspect ratio from fvwm, is there? Can anyone tip me of
how to get this information from the client itself? 

	I actually think I've written something useful here. (First time
for everything). The rubberband now complies to size constraints (except
the aspect ratio, which is a shame). And I even think I found a decent
solution to interpreting the mouse buttons pushed. Next step is certainly
trying to add keyboard shortcuts, and maybe a Position window like Fvwm's. 
However, I've still didn't figure out a good use to mouse button 3. Since
this is (currently) a resize/move module, it won't be very useful to allow
iconifing or randomplacement...  would it? 

	If you want to test it (please do):

http://www.cs.bgu.ac.il/~elad/GEOM.tgz   (8K including manpage!)

 _
(_  /  _    /          ( E-mail pigeons nest in binary trees )
(__/__(/\_(/

--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
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: Brady Montz <[email-masked]>
Date: 18 Aug 1997 14:46:40 -0700

> (_  /  _    /          ( E-mail pigeons nest in binary trees )

Since I haven't downloaded the module, I may be totally off base, but the
"I've still didn't figure out a good use to mouse button 3" sentence makes me
suspicious.

You shouldn't hardcode which button does what. If you are going to add
keyboard shortcuts then you'll need a way to bind commands (represented as
ASCII strings) to events (again ASCII) anyway, so you might as well support
the full fvwm "Key" and "Mouse" syntax. That's what I did for FvwmIconMan, and
it was pretty easy. You just need to rip some code out of fvwm to parse things
(or take it pre-ripped from FvwmIconMan). I can't think of any other module
off the top of my head which really allows keyboard shortcuts.

The best thing to do is come up with a list of things you could possible do,
and let the user bind them to whichever mouse/key events he wants. It's a good 
way of dealing with people who want you to add features that you personally
will never use. Just add the command and forget about it.

-- 
 Brady Montz
 [email-masked]

---

From: Richard A Lee <[email-masked]>
Date: 18 Aug 1997 20:43:05 -0400

> Elad Eyal <[email-masked]> writes:
[...]
 >> However, I've still didn't figure out a good use to mouse button
 >> 3. Since this is (currently) a resize/move module, it won't be very
 >> useful to allow iconifing or randomplacement...  would it?
 >> 
[...]
> Since I haven't downloaded the module, I may be totally off base, but
> the "I've still didn't figure out a good use to mouse button 3"
> sentence makes me suspicious.

> You shouldn't hardcode which button does what.
[...]

Yeah!  Now, could someone convince Robert Nation (or whoever is
currently maintaining FvwmPager) of that?  I find it a pain to have to
click left, then middle, to switch to desired window on desired page ...
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
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: Brady Montz <[email-masked]>
Date: 18 Aug 1997 18:53:45 -0700

> click left, then middle, to switch to desired window on desired page ...

The problem is that I don't think anyone is really currently maintaining
FvwmPager. I do think that every module should be that flexible
though. Another which comes to mind is FvwmButtons. It might be nice to be
able to make button 1 start up an application, and button 3 pop up a menu
which does things to the appropriate window (ie, button3 over my netscape icon 
would let me choose between uniconifying, raising, lowering, etc some/all of
my netscape windows; or maybe button 2 just toggles whether netscape is
iconified). 

I would be willing to volunteer to write up some code to do all this and stick 
it in fvwmlib after fvwm 2.1 is officially released. It would mostly involve
cleaning up FvwmIconMan code which I aim to clean anyway. I haven't
volunteered yet though.

---

From: Elad Eyal <[email-masked]>
Date: Tue, 19 Aug 1997 16:31:23 +0300 (IDT)

Good morning,

> "I've still didn't figure out a good use to mouse button 3" sentence makes me

You people really don't give a guy a break, do you? Configurability is
naturally in the todo list. I thought the module's sketch needs to be
portraited before all the details. (Which reminds me that aspect-ratio is
still an open question)

> The best thing to do is come up with a list of things you could possible do,

Of course. Any ideas?

 _
(_  /  _    /          ( E-mail pigeons nest in binary trees )
(__/__(/\_(/	http://www.cs.bgu.ac.il/~elad

---

From: Eric Brandwine <[email-masked]>
Date: Tue, 19 Aug 1997 09:48:49 -0400 (EDT)

> > The best thing to do is come up with a list of things you could possible do,
Is there any way to use this module as placement as well as movement?  I
dunno if this is even possible, or if Fvwm can handle it.

Also, make it possible to unmap the window once it has been selected for
movement/placement.  That way, you can see what is under it.

ericb

---

From: Elad Eyal <[email-masked]>
Date: Tue, 19 Aug 1997 16:52:39 +0300 (IDT)

Good morning,

> dunno if this is even possible, or if Fvwm can handle it.

You mean as a module called whenever a window is mapped, as a replacement
for ActivePlacement, SmartPlacement etc? As far as I understood, I don't
think Fvwm supports this. (yet?)

> Also, make itpossible to unmap the window once it has been selected for

!! Good idea. Splendid. Thanks.
 _
(_  /  _    /          ( E-mail pigeons nest in binary trees )
(__/__(/\_(/

---

From: Brady Montz <[email-masked]>
Date: 19 Aug 1997 07:01:03 -0700

Elad Eyal <[email-masked]> writes:

> > "I've still didn't figure out a good use to mouse button 3" sentence makes
> > me suspicious.
> 

I'm sorry if I seem pushy. I'm just kinda teasing and wanting things to work
out well for this module. I just want to get my cents in before you decided on 
a particular method for configurability :-).

As for ideas, they tend to come straggling in over time as new people discover 
your module. It seems that each person has a quota of new ideas (even the
author), and after they start using the module, they will hopefully tell you
about them, and then you'll never hear from them again. That's why I was
pushing getting configurability in early, cause it puts you in a position
right off to "catch" these ideas.

I haven't had any new ideas lately (quota used up I guess). So I'll stick with 
smart resizing/placement, switching to new desks/pages, warping to preset
geometries (ie, hitting left arrow while resizing stretches the left side of
the window all the way to the left side of screen), and remembering past
confiurations for each window so I can cycle through them while rubberbanding.

Oh, here's a new one: I sometimes want to make a window have the same size as
another window. I like my xterms uniform for example. I don't think this would 
work with rubberbanding. All I'd want is a new cursor and after I click on the 
window to use as a reference - poof my other window gets resized. The way I
see this working is by fvwm passing an argument to the module (just like how
some modules take "transient") to tell it what it has to do.

---

From: Bruce Stephens <[email-masked]>
Date: Tue, 19 Aug 1997 15:28:56 +0100

[email-masked] said:
>  All I'd want is a new cursor and after I click on the  window to use 
> as a reference - poof my other window gets resized. The way I see 
> this working is by fvwm passing an argument to the module (just like 
> how some modules take "transient") to tell it what it has to do. 

Similar to this, it would be nice to be able to stick windows together and 
move them as a whole.  I suppose resizing might be nice too.  For example, one 
of the debuggers I use comes in two windows (one for commands and things, and 
one for process I/O); it would be nice to be able to move them as one.  I'm 
sure this has been discussed before...

---

From: Eric Brandwine <[email-masked]>
Date: Tue, 19 Aug 1997 11:23:11 -0400 (EDT)

Openwindows allows this.  I find it to be mostly useless, but it is nice
when you need it.

LeftMouse is used in the Title to move the window.  Click MiddleMouse, and
the windows border gets bolder.  Then, when you move, all the selected
windows move.

ericb

---

From: Bruce Stephens <[email-masked]>
Date: Tue, 19 Aug 1997 16:32:26 +0100

[email-masked] said:
> Openwindows allows this.  I find it to be mostly useless, but it is 
> nice when you need it. 

(About moving multiple windows together.)  You mean olvwm, I assume?  Yes, I 
agree, and it's the SparcWorks debugger that I'm talking about.  There aren't 
many applications I can think of where this would be useful, but just 
occasionally it would be, and it's surely the kind of thing a module could do?

Grouping might be nice for other things too: I might want to iconify a 
collection of windows, as well as moving them.  I'm thinking of Netscape and 
its bookmarks window, or something like that.

---

From: Eric Brandwine <[email-masked]>
Date: Tue, 19 Aug 1997 11:38:58 -0400 (EDT)

I was thinking of something like the Mac Apple Menu.  All windows register
a class.  You could iconify/whatever all Netscape/Xterm/Xv/... windows at
once.  That would be really useful.

ericb

---

From: Kendrick Vargas <[email-masked]>
Date: Wed, 20 Aug 1997 00:06:29 -0400 (EDT)

> sure this has been discussed before...

Just a small request... How about the ability to choose a window and then
send it to a new display? Is it feasible :)
			-peace

--- BEGIN GEEK CODE BLOCK ------------+-----------
GAT d- s:+ !a C+(+++) UI/L/S/B++(+++) | "In the morning glad I see
P>+ L+(++) E---- W+++ N+ o? K? w++++  |  My foe outstrech'd beneath the tree."
O--- M-- V PS+++@ PE Y-- PGP+ t++ 5   |               -The Poison Tree
X++ R- tv+ b DI++ D+ G e>*  h*(!) r-  |                William Blake
y*(+) ------ END GEEK CODE BLOCK -----+

---

From: Andrew J Cosgriff <[email-masked]>
Date: Wed, 20 Aug 1997 15:05:16 +1000

>>>>> "Kendrick" == Kendrick Vargas <[email-masked]> writes:

Kendrick> Just a small request... How about the ability to choose a
Kendrick> window and then send it to a new display? Is it feasible :)

Not *really*....you could find out (like FvwmSaveDesk) the invocation
parameters of the program, kill the current one and restart it on the
new display.  But moving somethign without killing it is hard with
most X servers.

I remember reading about an X server called Xmove that lets you do
this sort of thing, but also remember reading that it wasn't quite
perfect.  Perhaps it's better now ?  If so, i'd love to hear about it
:)

Andrew.
-- 
 - Andrew J Cosgriff -                                   [email-masked]
                                      ==
                        "Your future is encoded in Pi."
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
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].