Register for layout unmanage handling in runner

This commit is contained in:
Thibault Jouan 2015-04-20 10:18:39 +00:00
parent a052140921
commit 38a90ab0af
2 changed files with 11 additions and 0 deletions

View File

@ -115,6 +115,10 @@ module Uh
log "Managing client #{client}" log "Managing client #{client}"
layout << client layout << client
end end
@events.on :unmanage do |client|
log "Unmanaging client #{client}"
layout.remove client
end
end end
def register_keybinds_hooks def register_keybinds_hooks

View File

@ -2,6 +2,7 @@ SomeLayout = Class.new do
define_method(:register) { |*args| } define_method(:register) { |*args| }
define_method(:suggest_geo) { Uh::Geo.new(0, 0, 42, 42) } define_method(:suggest_geo) { Uh::Geo.new(0, 0, 42, 42) }
define_method(:<<) { |*args| } define_method(:<<) { |*args| }
define_method(:remove) { |*args| }
end end
module Uh module Uh
@ -93,6 +94,12 @@ module Uh
expect(env.layout).to receive(:<<).with :client expect(env.layout).to receive(:<<).with :client
runner.events.emit :manage, args: :client runner.events.emit :manage, args: :client
end end
it 'registers for :unmanage event' do
runner.register_event_hooks
expect(env.layout).to receive(:remove).with :client
runner.events.emit :unmanage, args: :client
end
end end
context 'keys hooks' do context 'keys hooks' do