uh-wm/lib/uh/wm/manager.rb
2015-04-10 07:53:45 +00:00

33 lines
684 B
Ruby

module Uh
module WM
class Manager
attr_reader :display
def initialize events, display = Display.new
@events = events
@display = display
end
def connect
@events.emit :connecting, args: @display
@display.open
@events.emit :connected, args: @display
end
def grab_key keysym
@display.grab_key keysym.to_s, KEY_MODIFIERS[:mod1]
end
def handle_pending_events
handle @display.next_event while @display.pending?
end
def handle event
case event.type
when :key_press then @events.emit :key, event.key.to_sym
end
end
end
end
end