diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Waylean.lean | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/Waylean.lean b/src/Waylean.lean index 8402351..6334301 100644 --- a/src/Waylean.lean +++ b/src/Waylean.lean @@ -25,8 +25,10 @@ def handle (ctx : Context) : RiverWindowManagerV1.Event → DisplayM State Unit DisplayM.liftIO <| IO.println "Another window manager is already running" DisplayM.requestQuit | .finished => do + IO.println "Finished" DisplayM.requestQuit | .manageStart => do + IO.println "Manage Start" let (removedOutputs, aliveOutputs) := (← get).outputs.partition (Function.const _ Output.removed) pure () | .renderStart => pure () @@ -44,7 +46,10 @@ def launch : DisplayM State Unit := do DisplayM.sync do let wm : RiverWindowManagerV1 ← zoomRegistry Registry.bindSingleton let xkbBindings : RiverXkbBindingsV1 ← zoomRegistry Registry.bindSingleton - wm.listen (handle { wm, xkbBindings }) + wm.listen fun ev ↦ do + wm.keep + xkbBindings.keep + handle { wm, xkbBindings } ev def main : IO Unit := - DisplayM.run launch { } + DisplayM.run launch { } (name := "wayland-2") |
