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