Subject: Did this ActivePlacement feature ever make it?

From: "Eddy J. Gurney" <[email-masked]>
Date: Wed, 16 Feb 2000 13:47:52 -0500

While reviewing features requests that I've sent to the list previously,
I came across this e-mail message thread from March of 1999. Does anybody
know if this capability was ever added after the "great style flag
rewrite" that Tim references (i.e., the ability to bind functions to
the mouse buttons during "active placement"?)

On Mar 22 1999 at 11:32, I wrote:
,--
| Can we change the window placement policy in move.c so that you can
| resize a window that hasn't been mapped yet (while it is still in
| rubberband mode) WITHOUT depending on the "EmulateMWM" flag? Currently,
| if EmulateMWM is NOT set, you can use button 2 to resize a window
| while it is still "rubberbanded" (very nice feature). If EmulateMWM
| is set, you have to usr Shift+button 1 to accomplish the same thing (yuck!)
| Why not just make it button 2 OR shift+button 1 ALL the time? You can't
| map this functionality to anything else via the config files.
| 
| Currently:
|           if(((Event.xbutton.button == 2)&&(!Scr.gs.EmulateMWM))||
|              ((Event.xbutton.button == 1)&&(Scr.gs.EmulateMWM)&&
|               (Event.xbutton.state & ShiftMask)))
|             {
|               NeedToResizeToo = True;
|               /* Fallthrough to button-release */
|             }
| Should be:
|           if(((Event.xbutton.button == 2) ||
|              ((Event.xbutton.button == 1)&&
|               (Event.xbutton.state & ShiftMask)))
|             {
|               NeedToResizeToo = True;
|               /* Fallthrough to button-release */
|             }
| 
| Also, how about implementing a feature from (v)twm that while a
| window is in the "rubberband" state (before it has been mapped, you
| are deciding where to place it), you can click button 3, and it
| places the window and automatically resizes it *vertically* to the
| bottom of the screen. Very useful when opening an xterm; you just
| have to position the upper left corner, tap button 3 and you have
| a nice (tall) xterm.
| 
| In summary, it would be nice if during window placement (rubberband
| mode), the following actions worked:
| 
|   Button 1: Place and map window (already in place)
|   Shift+Button 1: Lock window location, mouse motion then resizes the
|                   rubberband frame (already in place if EmualateMWM set)
|   Button 2: Lock window location, mouse motion then resizes the rubberband
|             frame (already in place if EmualteMWM is NOT set)
|   Button 3: Place top left corner of window, automatically resize vertically
|             so that bottom of window is positioned at bottom of active
|             screen.
| 
| Button 3 functionality could be added with functionality something like this
| in "AddWindow":
| 
|         int     new_width, new_height;
| 
|         new_width = tmp_win->frame_width;
|         new_height = Scr.MyDisplayHeight - 2 - tmp_win->frame_y;
|         ConstrainSize(tmp_win, &new_width, &new_height);
|         SetupFrame(tmp_win,tmp_win->frame_x,tmp_win->frame_y,new_width,new_height,TRUE);
`--

On Mar 22 1999 at 17:04, Tim Phipps wrote (in reference to they message above):
,--
| This will probaly get fixed after the great style flag rewrite.  Fvwm
| has run out of bits for style and several features are overloaded on top
| of others.  It's going to happen honest!
`--

I'm not sure how the GSFR affected this, but maybe there should be a new
"flag" in the "Mouse" bindings section that allows you to specify a function
to executed during ActivePlacement. For example, the context letter could
be "P" for "Placement", since "A" is already taken:

Mouse 1 P        N        MapWindow
Mouse 2 P        N        ResizeWindow
Mouse 3 P        N        ResizeToBottomOfScreenAndMap

etc. The "MapWindow" function may be able to just be the equivalent of a
"Nop", since presumably the window will always map after the "placement"
function has executed. Failing the above, maybe an "ActivePlacementOpts"
keyword that allows to you specify how mouse buttons 1/2/3 "work" during
active placement?

Believe it or not, the lack of the above button 2/3 functionality in fvwm
is the main reason why several people here at my office still use vtwm...
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]