summaryrefslogtreecommitdiff
path: root/src/Waylean.lean
diff options
context:
space:
mode:
Diffstat (limited to 'src/Waylean.lean')
-rw-r--r--src/Waylean.lean9
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")