Re: [IMPORTANT] EdgeActions ready (+ setup guide)



On Sat, 13 Nov 2010 12:33:29 -0600, Jeremy Hankins wrote:
> I prefer using the keyboard for navigating and triggering actions,
> so I don't think I'm a good person to have an opinion

Me, too. Don't take my impression in this mail too strongly.  (It
applies to themes, too. I invoke window operation menu with keys. ;)

On Sat, 13 Nov 2010 19:32:10 +0100, Christopher Roy Bratusek wrote:
> EdgeActions is now considered stable and ready for testing

Great work!! (Now you agree it should be in 1.8, rather than 3.0. :)

> Q: How to set it up?
> A: Everything except the hot-spots actions can be setup via SawfishConfig.

Currently, (require 'edge-actions) is necessary. Let's load it by default,
by adding edge-actions to `intern-structure' in wm.jl.

There's a serious one-liner bug. In actions.jl, ":after-set (lambda ()
edges-activate))", the last element has to be in parentheses.

> Also all 4 edges are now separated,

I realized that it makes sense to have only 2 in the configurator,
top-bottom and left-right. (Names horiz / vert can be confusing. The
top edge is used for vert move, but its shape looks horizontal!)
 
> Actions for when hitting the edge with the pointer and when hitting
> while moving a window are now SPLIT. So you can have separated
> behavior or the same for both cases, just as you like.

I think it's better to combine, but it can be changed later.
Merge to the master will be soon, so let's see how users feel.

I don't think `edge-actions-enabled' is necessary. (It servers only to
disable all edge actions, but does anyone want it?) Instead, after
setting any of *-edge-func, call edges-activate, and it must suffice.

It's for the first time that I heard of layouted workspaces. Vertical
workspace flipping is only useful for it. Is it still possible to set
it by GNOME or so? If it's still necessary, then we have to write its
documentation, too, because from Sawfish, you can't set it in ICCCM /
EWMH compliant way. (You can mock it from Sawfish. But pager prints
workspaces linearly. See wm/ext/workspace-grid. )

On the delay: In VD, delay is bad. (Even 50 is clumsy.) In
edge-flip, I feel 250 ms is good. I felt no delay was a bit abrupt. To
cancel hot-spot, at least .75 sec or so is necessary, I guess. (I
haven't tried HS yet.)

It's better to listen to others first, but my image of the solution is:
no delay for VD. Since HS has to be set via lisp, make it accept a
delay option for each HS. Not sure for flipping.

That's all I've tried so far.

> Q: How to test?
> A: git branch test # create new branch "test" from master
>     git checkout test # switch to it
>     git merge edge-actions # ... you need to resolve the conflicts (sorry)

Conflicts are there in joe.jl and windows.jl. I first thought that it
could be fixed by rebasing, but it's probably bad to rebase a public
branch. Merge is safe.

Todos in edges:
* Doc
* Rename src/flippers to src/edge.
* Relegate some functions in C to lisp, so that it can be used for
  multi-head dead-zone problem, too. Currently C functions are
  not exported from lisp modules, so it can be after the release,
  but it's better to combine API changes in one release.
* Add old options to compat.jl, so that you don't have to edit 
  ~/.sawfish/custom manually.

Teika (Teika kazura)



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