Hooks » History » Version 6
« Previous -
Version 6/47
(diff) -
Next » -
Current version
Jonathan Dahan, 11/22/2009 08:04 PM
Hooks\015\012\015\012Here is a list of the existing types of hooks, although more are planned. Every feature of Subtlext can be used inside these hooks without instantiating a Subtlext::Subtle object first:\015\012\015\012\015\012clients.each { |c| puts c.name }\015\012\015\012find_tag("subtle")\015\012
\015\012\015\012Every hook except the create hook will be run before the event is actually processed and the return value of the supplied proc will determine if processing continues or not. A return value of false will effectively stop processing of the event.\015\012\015\012Following hooks exist so far:\015\012\015\012{{>toc}}\015\012\015\012h2. Create\015\012\015\012Triggers on creation of new clients.\015\012\015\012:HookCreate => lambda { |c| puts c.name }\015\012
\015\012\015\012h2. Focus\015\012\015\012Triggers when a client gets focus and has the focussed client as parameter.\015\012\015\012:HookFocus => lambda { |c| puts c.name }\015\012
\015\012\015\012h2. Gravity\015\012\015\012Triggers when a client gets a new gravtiy.\015\012\015\012:HookGravity => lambda { |c| puts c.name }\015\012
\015\012\015\012h2. Jump\015\012\015\012Triggers on view jumps and has the active view as parameter.\015\012\015\012:HookJump => lambda { |v| puts v.name }\015\012
\015\012\015\012\015\012h2. Example Hooks\015\012\015\012Switch to the first view of the newly created client\015\012\015\012:HookCreate => lambda { |c| c.views[0].jump }\015\012
\015\012¶
\015\012clients.each { |c| puts c.name }\015\012\015\012find_tag("subtle")\015\012
\015\012:HookCreate => lambda { |c| puts c.name }\015\012
\015\012:HookFocus => lambda { |c| puts c.name }\015\012
\015\012:HookGravity => lambda { |c| puts c.name }\015\012
\015\012:HookJump => lambda { |v| puts v.name }\015\012
\015\012:HookCreate => lambda { |c| c.views[0].jump }\015\012