From 009d5dbedd3639d73c206ebcce578aee6c0cfba6 Mon Sep 17 00:00:00 2001 From: Thibault Jouan Date: Wed, 22 Apr 2015 09:55:25 +0000 Subject: [PATCH] Handle and forward expose events to the layout --- features/manager/expose.feature | 5 +++++ lib/uh/wm/manager.rb | 4 ++++ lib/uh/wm/runner.rb | 4 ++++ 3 files changed, 13 insertions(+) create mode 100644 features/manager/expose.feature diff --git a/features/manager/expose.feature b/features/manager/expose.feature new file mode 100644 index 0000000..09ec916 --- /dev/null +++ b/features/manager/expose.feature @@ -0,0 +1,5 @@ +Feature: expose events handling + + Scenario: logs when an expose event is handled + Given uhwm is running + Then the output must match /expos.+window.+\d+/i diff --git a/lib/uh/wm/manager.rb b/lib/uh/wm/manager.rb index a3fc312..6b58034 100644 --- a/lib/uh/wm/manager.rb +++ b/lib/uh/wm/manager.rb @@ -120,6 +120,10 @@ module Uh destroy event.window end + def handle_expose event + @events.emit :expose, args: event.window + end + def handle_map_request event map event.window end diff --git a/lib/uh/wm/runner.rb b/lib/uh/wm/runner.rb index beb6ffc..ba93001 100644 --- a/lib/uh/wm/runner.rb +++ b/lib/uh/wm/runner.rb @@ -123,6 +123,10 @@ module Uh log "Updating client #{client}" layout.update client end + @events.on :expose do |window| + log "Exposing window: #{window}" + layout.expose window + end end def register_keybinds_hooks