Re: [IMPORTANT] EdgeActions ready (+ setup guide)
- From: Daniel Fetchinson <fetchinson googlemail com>
- To: General discussion about sawfish wm <sawfish-list gnome org>
- Subject: Re: [IMPORTANT] EdgeActions ready (+ setup guide)
- Date: Wed, 17 Nov 2010 19:33:31 +0100
> EdgeActions is now considered stable and ready for testing (and merge into
> master, once verified by other people than just me).
> Q: What is EdgeActions (EA)?
> A: The union of EdgeFlip, HotSpots and ViewportDrag (ex InfiniteDesktop)
> 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)
> go installing and testing
> Q: How to set it up?
> A: Everything except the hot-spots actions can be setup via SawfishConfig.
> Also all 4 edges are now separated, that means you decide which edges have
> action and which action they perform! (yay for »yet-another-configuration-
> option« ™)
> 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
> for both cases, just as you like.
> The 4 corner are preserved to HotSpots. By default the corners are 50 px in
> both x and y direction along the edge from each corner, it's adjustable.
> Besides ViewportDrag now also works while moving a window.
> (We do now have much more flexibility with noticably less and easier-to-read
> code. You'll be thrilled once you got used to it.)
> Next follows my example configuration:
> ;; fancy customized edge-actions
> ( require 'sawfish.wm.edge.actions )
> ( defvar-setq edge-actions-enabled t )
> ( defvar-setq edge-actions-delay 250 )
> ( edges-activate )
> ;; NOTE the lambda!
> ;; NOTE the syntax-change in jump-or-exec!
> ( defvar-setq top-left-corner-program
> ( lambda () ( jump-or-exec "Iceweasel" "iceweasel" #:match-class t ) ) )
> ( defvar-setq top-right-corner-program
> ( lambda () ( pager-unhide ) ) )
> ( defvar-setq bottom-right-corner-program
> ( lambda () ( system "amarok &" ) ) )
> ( defvar-setq bottom-left-corner-program
> ( lambda () ( jump-or-exec "VirtualBox" "VirtualBox" #:match-class t ) ) )
> ( defvar-setq top-edge-program
> ( lambda () ( jump-or-exec "Konsole" "konsole" #:match-class t ) ) )
> ( defvar-setq bottom-edge-program
> ( lambda () ( delete-window ( input-focus ) ) ) )
> ;; actions when pointer hits edge
> ( 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 )
> ;; actions while moving window hits edge
> ( defvar-setq left-edge-move-func 'flip-workspace )
> ( defvar-setq right-edge-move-func 'flip-workspace )
> ( defvar-setq bottom-edge-move-func 'hot-spot )
> ( defvar-setq top-edge-move-func 'none )
> That's it.
> Happy testing,
Chris, this sounds really cool!
Thanks for your hard work.
Psss, psss, put it down! - http://www.cafepress.com/putitdown
] [Thread Prev