Re: Hot-Spots 1.0.3

> Sounds pretty good. And another reason I should pay more attention to
> the draft box, I had a reply to the first mail, still applies more or
> less:
> [Sizes, now configurable, maybe defaults should be screen based]
> (...)

1.0.4 should be better now.

> [Include into core sawfish and make it generic for all uses]
> > interaction is possible. As already said, EF must be enabled for HS to work.
> > All you need to do for proper interactions is to check your configuration:
> >
> > - hot-spot-delay is ideally at least smaller than edge-flip-delay by 100 (default
> >   EF-delay is 250 and default HS-delay 150, so defaults are good). The difference
> > depends on your reaction-time. So play around with it a bit until you can activate
> > the hot spots without always flipping the screen.
> Maybe all this should be refactored by creating 8 multipurpose zones
> (4 thin edges, 4 L shaped corners created via 2 thin windows each),
> and people can bind anything to each (edge flip to 4 edges, etc), even
> with some conditionals like the "while dragging a window" of current
> edge flip.

Here's what I have in mind: 

leave the flipper window as is. Of course we could do two, but at the end it doesn't
matter whether we distinguish in C or in LISP. But we save 4 flippers to restart/destroy.

[Keys: HS = Hot-Spots, ID = Infinite-Desktop, EF = Edge-Flip, EU = EdgeUtils, WS = Workspace, VP = ViewPort]
[Names of proposed funcs/modules are of course not yet settled]

new module sawfish.wm.edge.utils (EU) contains the basic stuff like edge-activate (former
edge-flip-enable).  get-active-corner from HS is moved there. EU does add a meta-func to
enter-flipper-hook which first checks the output from get-active-corner, then from
get-active-edge (not hard to code). The result is passed to edge-active, which checks
what the user desires (HS, EF or ID) and calls the appropriate function.

This could be done by some list like 

(edge-actions '( ( top-right . hot-spot )
                 ( left . edge-flip )
                 ( bottom . infinite-desktop ) ) )
and so on.

HS and ID are move to sawfish.wm.edge and the EF is moved to sawfish.wm.edge.flip. Stuff
like restart & such should be moved to C.

(perhaps HS should also use a list rather than 8 defcustoms?)
(HS can be completely disabled by setting hot-spots-area to 0 by the way)


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