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.

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.

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,

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