Dan Espen <des...@verizon.net> writes:

> Ranjan Maitra <stat.mai...@inbox.com> writes:
>
>> On Sun, 02 Dec 2012 00:14:45 -0500 Dan Espen <des...@verizon.net> wrote:
>>
>>> Ranjan Maitra <stat.mai...@inbox.com> writes:
>>> 
>>> > Hello,
>>> >
>>> > I was wondering if it is yet possible to get rounded corners on
>>> > windows using fvwm. I know that there is an unofficial patch around for
>>> > this, but I was looking to hopefully avoid going out of the official
>>> > version. 
>>> >
>>> > If it is not possible to get rounded corners on windows using fvwm, are
>>> > there any plans for adding this support? If so, soon? Longer? Why not
>>> > just adapt the patch?
>>> 
>>> Generally Fvwm only adds frivolous things (like FvwmAnimate),
>>> when they don't add bloat to the core of fvwm.
>>> 
>>> I found a file named
>>> 
>>> 09-FluxRoundedCorners.patch
>>> 
>>> It doesn't qualify.
>>
>> OK, I am sorry for this naivete, but I don't know what parts in the
>> patch cause the bloat: can they be worked around? (Of course, by
>> that, I mean easily, since after all, anything can possibly be worked
>> around.)
>
> If that's the complete patch, it's lacking documentation and only works
> with 2 radiuses, would attempt to curve a 1 pixel border.  In short, it
> looks like a hack.

Looking again at rounded windows,
I notice how they conflict with Fvwm's notion of a border.
Fvwm borders come in beveled and flat flavors with variable width.

A one or 2 pixel border doesn't lend itself to being rounded.
I'm not sure how many pixels are needed before rounding becomes visible,
probably around 5.  Bevels probably wouldn't work at all.  You couldn't
just use a shape mask, you'd have to try to make the bevel follow the
curve.

So far I haven't found a generic method for building the shape mask that
would account for the degree of curvature.  The patch I looked at, just
used 2 different shape masks.  I'm not sure how well that approach would
work at varying resolutions.

Lastly, I found this pretty old Kenton Lee write up:

http://www.rahul.net/kenton/perf.html#Shapes

Shaped Windows
  A performance  issue related  to object  shapes is  the use  of shaped
  (non-rectangular) windows. Shaped windows  are available via the SHAPE
  X protocol extension.

  While  shaped  windows  can  be useful,  they  can  cause  performance
  problems in  many situations.  Most importantly, Expose  events always
  return rectangular exposure regions, so if a shaped window is moved or
  unmapped, the  X server must send  many Expose events to  each exposed
  window to describe the shaped region. If the client owning the exposed
  window  processes each  event, its  performance will  be significantly
  affected. In general, you should avoid repeatedly resizing, moving, or
  unmapping  shaped windows  owned  by your  application.  Also, if  you
  expect many Expose  events caused by shaped windows,  you should write
  your Expose event handlers to compress the events as much as possible.

So, I think that pretty much puts the nail in the coffin of shaped
windows for me.  Rounded windows have visual appeal because the
roundness is more visually appealing.  But I find fast pretty appealing
too.

Anyway, comments welcome.

-- 
Dan Espen

Reply via email to