Edge-Actions finally arrived



Hi folks!

EA (Edge-Actions) finally arrived.

Q: What is "Edge-Actions"?
A: A more modular way of handling actions for your screen edges.

There are 5 (4 + none) actions available currently:
- hot-spot (Note: spot - not spots as this refers to a single one)
- viewport-drag (= infinite-desktop, module still has old name)
- flip-workspace
- flip-viewport
- none

Obviously all four edges can be setup differently. hot-spot needs extra setup.
Moreover most of the configuration options are gone now (no longer required).

Also VD (Viewport-Drag) now also works while moving a window. compat.jl stuff is not yet
here, but since the options are now mostly gone, simply removing (require ...) of the old
files from ~/.sawfishrc will do it.

[FEATURE IDEA]
Actions for while-moving are not extra settable, as I thought it would be too much… But I
now I think it may be useful for some. But when with extra actions for only moving the
window to the other side of the edge or so.  Dunno.
[/FEATURE-IDEA]

So here's how it works:

x checkout edge-actions branch (or merge into HEAD)
x install
x setup

This is my example setup:

  ;; fancy customized edge-actions

  ;; first defvar-setq/define, then require!

  ( defvar-setq edge-actions-enabled t )
  ( defvar-setq edge-actions-delay 250 )

  ;; yep, syntax-change in jump-or-exec
  ;; check the introduction part of jump-or-exec.jl
  ( define ( top-left-corner-program )
    ( jump-or-exec "Iceweasel" "iceweasel" #:match-class t ) )

  ( define ( top-right-corner-program )
    ( pager-unhide ) )

  ( defvar-setq bottom-right-corner-program "amarok" )

  ( define ( bottom-left-corner-program )
    ( jump-or-exec "VirtualBox" "VirtualBox" #:match-class t ) )

  ( define (top-edge-program)
    ( jump-or-exec "Konsole" "konsole" #:match-class t ) )

  ( defvar-setq left-edge-func 'flip-viewport )
  ( defvar-setq right-edge-func 'flip-viewport )
  ( defvar-setq bottom-edge-func 'none )
  ( defvar-setq top-edge-func 'hot-spot )

  ( require 'sawfish.wm.edge.actions )
  ;; sawfishrc can't handle a defcustoms after-set property
  ( edges-activate )

I'm sure the implementation could be improved, so leave your comments.

Happy testing,
Chris


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