Register :configure event for layout in runner

This commit is contained in:
Thibault Jouan 2015-04-20 05:35:23 +00:00
parent 84d92798a0
commit 30cb15b5d3
2 changed files with 13 additions and 2 deletions

View File

@ -107,6 +107,10 @@ module Uh
log "Registering layout `#{layout.class}'" log "Registering layout `#{layout.class}'"
layout.register display layout.register display
end end
@events.on :configure do |window|
log "Configuring window: #{window}"
layout.suggest_geo
end
@events.on :manage do |client| @events.on :manage do |client|
log "Managing client #{client}" log "Managing client #{client}"
layout << client layout << client

View File

@ -1,6 +1,7 @@
SomeLayout = Class.new do SomeLayout = Class.new do
define_method(:register) { |*args| } define_method(:register) { |*args| }
define_method(:<<) { |*args| } define_method(:suggest_geo) { Uh::Geo.new(0, 0, 42, 42) }
define_method(:<<) { |*args| }
end end
module Uh module Uh
@ -80,6 +81,12 @@ module Uh
runner.events.emit :connected, args: :display runner.events.emit :connected, args: :display
end end
it 'registers layout hook for :configure event' do
runner.register_event_hooks
expect(runner.events.emit :configure, args: :window)
.to eq Geo.new(0, 0, 42, 42)
end
it 'registers layout hook for :manage event' do it 'registers layout hook for :manage event' do
runner.register_event_hooks runner.register_event_hooks
expect(env.layout).to receive(:<<).with :window expect(env.layout).to receive(:<<).with :window