On Sat, 29 Aug 2009 18:56:22 -0500 Nick Hughart <mek...@mekius.net> said:

edge bindings have fundamental design flaws - as you picked up. 1. original
invisible input-only windows were fine as they were only ever thereon a border
you can flip over. on the ones you can't - they never were there. as a flip
timeout is short (like < 0.5 sec normally) that is the period of time u might
want to use that edge (click a window title to move it, press a button in an
apps window), before it will flip. this makes it practically "never" that this
is the case.

as of edge bindings this window is ALWAS there stealing input. i have noticed
this already - trying to hit a window titlebar to drag it when my mouse is at
the top of the screen. the edge binding traps it. this in general is bad.

imho edge bindings - while cool, suffer from an x limitiation. we cannot just
snoop all events without interfering with them in some way (ie trapping them
and not passing them on etc.). the only way this is possible is xevie at the
moment. imho - until xevie is being used, i dont think having bindings for
regions of the screen is a good idea. we need to handle these on a special case
basis - as the old edge flip code did for edge flipping. the problem is the
shelf autohide. to be honest - i don't think it's possible to do. you will
ALAYS steal the whole bottom edge of the screen for it (or whatever edge the
shelf is along). lets say its the top edge. this means if i have a titlebar
there, i can't just woosh my mouse to the top of the sceen, click and drag as
the edge binding steals it (for shwoing the shelf). my opinion is this.

1. remove edge  event and bindings. wait for xevie to be used - then we see ALL
mouse events and can make any region of the screen passively listen to events
and do anything we like.
2. bring back the old edge flip code
3. disable shelf autoshow/hide (sorry just not going to work given current
infrastructure).

to do this right we need to

1. use xevie and become an event translator and "manager" (xevie is for events
what window management is for window positions/sizes etc, or a composite manager
is for pixels. it gets every vent and you have a chance to modify it or just
pass it back as-is, but a bi-product is actually seeing all thew mouse events
no matter where).
2. move from edge bindings to "screen region bindings" (not just edges just any
area).

> So the edge bindings have once again ticked me off.  So much so that
> I've made the attached patch to correct it's flaws.  I tried to keep
> as much of the mechanisms the same even though I don't exactly like how
> it's done right now.
> 
> Anyway, the patch fixes a couple of things.
> 
> First it will hide any of the edge windows if that edge is not being
> used.  It is pointless to have the entire 1px border of the screen
> unusable when I have no edge bindings.
> 
> Second it fixes the behavior of the fullscreen option.  Previously the
> edges were set above all windows, even fullscreen.  The only difference
> with the option set was that events would be ignored, but the edge
> window was still in the way stealing events.  It is much better to
> actually layer things properly so that when a fullscreen app is active,
> the edge windows are layered below it and thus do not get in the way at
> all and don't even have to ignore the events because they never happen.
> 
> Patch attached.  I would just commit it, but I know I was met with
> resistance for some reason the last time I brought these issues up.
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    ras...@rasterman.com


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to