diff --git a/lib/uh/wm.rb b/lib/uh/wm.rb index 0b368ee..7e2b4a0 100644 --- a/lib/uh/wm.rb +++ b/lib/uh/wm.rb @@ -14,6 +14,11 @@ module Uh Error = Class.new(StandardError) RuntimeError = Class.new(RuntimeError) ArgumentError = Class.new(Error) - OtherWMRunningError = Class.new(RuntimeError) + + class OtherWMRunningError < RuntimeError + def message + 'another window manager is already running' + end + end end end diff --git a/lib/uh/wm/manager.rb b/lib/uh/wm/manager.rb index 4a9cb46..b679f8f 100644 --- a/lib/uh/wm/manager.rb +++ b/lib/uh/wm/manager.rb @@ -13,9 +13,7 @@ module Uh def connect @events.emit :connecting, args: @display @display.open - Display.on_error do - fail OtherWMRunningError, 'another window manager is already running' - end + Display.on_error { fail OtherWMRunningError } @display.listen_events INPUT_MASK @display.sync false Display.on_error { |*args| handle_error *args }