# bindings-wlc
WIP bindings against libwlc
## Using Bindings.WLC
Low level bindings to WLC via bindings-dsl
```haskell
do
logger <- mk'log_handler_cb (\_ -> print)
c'wlc_log_set_handler logger
c'wlc_init2
created_cb <- mk'output_created_cb (\output -> do
putStrLn "Output created"
return True)
c'wlc_set_output_created_cb created_cb
c'wlc_run
```
## Using System.WLC
System.WLC builds on Binding.WLC
```haskell
do
initialize
logHandler (\tag text -> putStrLn $ stringTag tag ++ " " ++ text) -- Log all the things
dispatchEvent (PointerMotion (\_ _ ptr -> do pointerSetPosition ptr; return True)) -- Allow mouse movement
dispatchEvent (ViewCreated (\view -> do viewBringToFront view; viewFocus view; return True)) -- Pop views to the front
dispatchEvent (CompositorReady $ exec "weston-terminal" []) -- Launch weston-terminal when we're ready
run
```