On Mon, Mar 11, 2002 at 05:00:55PM +0000, Mikhael Goikhman wrote:
> I can only agree with your analize, Dominik, you are doing a nice work.
> 
> But you asked for more ideas, so here is a try. This is something similar
> to what Tim once suggested, it may work well if there is a big penalty for
> additional windows.
> 
> Titlebar is not discussed here, only borders.
> 
> The division to windows may be like this:
> 
>   o...+------++-----
>   :l-t|  top || handle
>   +---+------++-----
>   | l |corner::
>   | e |window::
>   | f |      ::
>   +-t-+......o:
>   +---+.......o
>   | h |
>   | a |
>   | n |
>   | d |
>     l
>     e
> 
> Top and right handles are fully drawn using pixmap tiles.
> Left-top tiny corner piece may be drawn using a pixmap, it is constant.
> 
> Corner window starts from the very left-top and includes both bevels
> (inner 2 pixels and outer 2 pixels) on both ends.
> 
> Now the only problem is a wrong cursor in the central bevels.
> This may be solved by adding one invisible corner2 window that is a bit
> smaller than corner1 window and defines a different cursor.

Let's ignore that fact, one pixel to the right or left can be
safely ignored in terms of usability.

> In this solution there are only 4 additional windows, not 8.

Mine requires 12 additional small ones minus one big window.

> Also I am not sure left-top corner piece is needed, it's drawing pixmap
> probably may be included into corner1 window without flickering. If this
> is possible, there are no additional windows at all.

The corner piece and the additional bevel windows make it easy to
shade a window without flickering.  Let's assume a window with top
title is shaded.  As the window shrinks, the bevels on the left or
right are kept in the correct place.  Right before the animation
step that would cause them to cross paths their gravity is set to
UnmapGravity so that they are unmapped automatically when they
come too close together.

The same can't be done if the bevels are drawn into the corner
handles:  the handles are moved by resizing the frame, but they
cant be resized to not overlap each other in the same operation.
You'll always see one of the bevels in the wrong place before it
can be hidden:

  +---+---------
  |tl |
  |   |
  ----- <- bevel
  +---+-------- 
   br

tl = top left handle, br = bottom right handle

> 
> So to sum it up, corner2 is invisible, corner1 has 3 unbound parts.
> 
> And while you are at it. Please add boolean NoBorder/Border style option
> that is similar to NoHandle/Handle. I want to add this for some time now,
> this enables to temporarily remove borders without reseting BorderWidth.

Please remind me of that in a few weeks :-)

> This also raises a question of disabling only parts of a border, for
> example only side borders suggested by Olivier in another thread.

dito

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]
--
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 PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to