diff --git a/lib/uh/wm/manager.rb b/lib/uh/wm/manager.rb index 3b30cca..fde8bb2 100644 --- a/lib/uh/wm/manager.rb +++ b/lib/uh/wm/manager.rb @@ -49,6 +49,8 @@ module Uh [event.key.to_sym, :shift] : event.key.to_sym @events.emit :key, *key_selector + when :map_request + @events.emit :manage, args: event.window end end diff --git a/spec/uh/wm/manager_spec.rb b/spec/uh/wm/manager_spec.rb index 46a5d58..0557b31 100644 --- a/spec/uh/wm/manager_spec.rb +++ b/spec/uh/wm/manager_spec.rb @@ -135,6 +135,17 @@ module Uh end end end + + context 'when map_request event is given' do + let(:event) { double 'event', type: :map_request, window: :window } + + it 'emits :manage event' do + events.on(:manage) { throw :manage_code } + expect { manager.handle event }.to throw_symbol :manage_code + end + + it 'emits :manage event with the client' + end end end end