Listen events for window management in Manager
This commit is contained in:
parent
d501bb9b35
commit
3f39b90269
@ -2,6 +2,10 @@ module Uh
|
||||
module WM
|
||||
class Manager
|
||||
INPUT_MASK = Events::SUBSTRUCTURE_REDIRECT_MASK
|
||||
ROOT_MASK = Events::PROPERTY_CHANGE_MASK |
|
||||
Events::SUBSTRUCTURE_REDIRECT_MASK |
|
||||
Events::SUBSTRUCTURE_NOTIFY_MASK |
|
||||
Events::STRUCTURE_NOTIFY_MASK
|
||||
|
||||
attr_reader :modifier, :display
|
||||
|
||||
@ -20,6 +24,7 @@ module Uh
|
||||
Display.on_error { |*args| handle_error *args }
|
||||
@display.sync false
|
||||
@events.emit :connected, args: @display
|
||||
@display.root.mask = ROOT_MASK
|
||||
end
|
||||
|
||||
def disconnect
|
||||
|
@ -33,6 +33,14 @@ module Uh
|
||||
manager.connect
|
||||
end
|
||||
|
||||
it 'updates the root window mask in order to manage windows' do
|
||||
manager.connect
|
||||
expect(display.root.mask).to eq Events::PROPERTY_CHANGE_MASK |
|
||||
Events::SUBSTRUCTURE_REDIRECT_MASK |
|
||||
Events::SUBSTRUCTURE_NOTIFY_MASK |
|
||||
Events::STRUCTURE_NOTIFY_MASK
|
||||
end
|
||||
|
||||
context 'when connection fails' do
|
||||
before { allow(display).to receive(:open) { fail } }
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user