Re: Hot-Spots 1.0.3

Am Sat, 30 Oct 2010 13:00:29 +0900 (JST)
schrieb Teika Kazura <teika lavabit com>:

> 1. edge-keymap
> I withdraw "edge-keymap". You can do it by making a window (of any
> look and shape), and using per-window keymap. (This device itself
> seems good for mouse users.)


> 2. edge-actions and timers
> On Tue, 19 Oct 2010 18:16:23 +0200, Christopher Roy Bratusek wrote:
> >> > HS (Hot Spots) interaction with ID and EF (Infinite Desktop/Edge Flip):
> >> > interaction is possible.
> >> > [weeks later]
> >> > (edge-actions '( ( top-right . hot-spot )
> >> >                  ( left . edge-flip )
> >> >                  ( bottom . infinite-desktop ) ) )
> >> 
> > [...]
> > I'm using HS + EF and it I like what I have ;)
> > 
> > The optimal behavior is:
> > 
> > HS active: not call EF or ID at hot-spot
> > HS inactive: call EF or ID at hot-spot
> > 
> > Currently there are two timers, therefore EF and HS work together.
> "edge-actions" is great, and the sole solution. Once you get it, you
> can get rid of timers.
> Current use of timer is too complicated over little gain. (I know
> you had to beat EF's timer.) The only role of the timer is: a
> cursor hits a corner, and if the delay of the EF is smaller than the
> HS, the EF happens. This repels the cursor out of the flip detector
> (to the opposite end of the screen). Then HS code is called, and the
> mouse position is checked (only for corner), "it's not in any HS." So
> corner HS is cancelled.
> I don't think EF timer is of use.

I think the timers are not useless. They avoid that the edge is activated immediately.
It may happen that you accidently hit the edge while moving to another window and then
you don't want to EF/HS/ID or whatever.

Come to think of it: I believe it would be better to make the movement faster.

> 3. A bug
> > Imagine this: edge-width 5 px + warp-pointer set to 0 . 0 of window = each time
> > warp-pointer is called you'll also activate the edge. So I'm against increasing the
> > width of the edges.
> Yes, this already indeed does harm to EF/ID users, and reported
> to bugzilla. (bug 105223)
> 4. Another use of "flippers"
> C "flippers" has another use. In multi-heads, there's "dead zone"
> problem. Suppose you have a tall screen and short screen, side by
> side. The entire X screen contains both, so there're imaginary,
> invisible area below the short screen. But mouse pointer can go into
> there. It's WM's job to give a workaround.
> This can be handled with flipper. Currently 4 flippers are hardwired,
> but to deal with dead-zone, geometries and number has to be configurable
> from lisp. (I don't know if one pixel width is enough.)
> Chris, you don't have to do it, but I don't work on this at the
> moment.

It would be a bit hard to do here, as I would blind-code the changes
(I don't have Xinerama setup).

> 5. Names
> The last item means "flipper" is no more an appropriate name.
> (Already from the time ID was introduced.) What's good, edge-sensor?
> (It's still "edge" even with dead-zone, though the screen is a
> polygon.)
> And we can take this occasion to rename ID, to "viewport-drag" or so.
> Infinitenes is now in dynamic-viewport, not in ID any more.

I guess the reason why it was called "desktop" not "viewport" is: if there's only one
viewport VP and WS are the same, so It looks like it would move the WS. I can't think of
a better name yet. Perhaps -move is better than -drag (compared to drag-and-drop I mean).

> In edge-action, edge-flip should be split to flip-WS and flip-VP.

Sounds reasonable.
> 5. misc
> Simplification of hot-spot-call is possible: if (get-active-corner)
> returns non-nil, then you can rebind the result to 'edge'. You can
> replace lengthy cond by using alist of (direction . variable). (Easier
> to maintain.)
> On Mon, 25 Oct 2010 20:07:06 +0200, Christopher Roy Bratusek wrote:
> > ;; define/defun most be done *before* require of hot-spots!
> > ( define (top-left-corner-program)
> >   ( jump-or-exec "Iceweasel" "iceweasel" t ) )
> (defvar-setq top-left-corner-program
>   (lambda () ...))


> Then the require order doesn't matter. (The origital may be ok too if
> librep is bug free. I'm not sure; I'm not lisp headed.)
> Regards,
> Teika (Teika kazura)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]