On Sat, 5 Sep 2009, Carsten Haitzler (The Rasterman) wrote:

On Fri, 4 Sep 2009 16:13:10 -0500 Nick Hughart <mek...@mekius.net> said:

On Thu, 3 Sep 2009 10:57:35 +1000
Carsten Haitzler (The Rasterman) <ras...@rasterman.com> wrote:

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).

Well this would be great if Xevie had a future.  From the FDO page:

"It has been suggested that this extension should not be used because
it is broken and maintainerless."

and

"XEvIE has been removed from HEAD on Wed Oct 22:
http://cgit.freedesktop.org/xorg/xserver/commit/?id=f4036f6ace5f770f0fe6a6e3dc3749051a81325a";

oh crap. i know there was talk of it being unloved but its the ONLY way to do
this. i did't know it was removed.there's no other event monitor (and intercept)
mechanism in x.

Using Xinput2, maybe ?

Vincent


So unless we actually pick it up it would seem like noone is interested
in doing it.  I agree it's the best way to go about it, but doesn't
seem like it's going to happen anytime soon heh.  Do you know if there
were any technical reasons for it's departure?

no - just rumblings of unhappiness. but it stayed. this creates a chunk of
problems. now it seems it's gone. bugger. crap. what to do...

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.





------------------------------------------------------------------------------
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



--
------------- 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

--
Ce message a été vérifié par MailScanner
pour des virus ou des polluriels et rien de
suspect n'a été trouvé.
Message délivré par le serveur de messagerie de l'Université d'Evry.

------------------------------------------------------------------------------
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