blob: 28c5f5889074467b78ae4f8bd326e2f314d02e6e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import Wayland
partial def mainLoop (loop : EventLoop) : IO Unit := do
match (← loop.poll) with
| .none => return
| .some msg => msg; mainLoop loop
partial def main : IO Unit := do
let disp ← Display.new .none
let loop ← EventLoop.new
_ ← loop.addDisplay disp
_ ← loop.addSignal 2 (do
IO.println "Received SIGINT"
loop.quit)
let rec setUpTimer := loop.addTimer 500 (do
IO.println "Timer tick"
_ ← setUpTimer)
_ ← setUpTimer
disp.roundtrip
mainLoop loop
|