Skip to content
Snippets Groups Projects
Commit 010b3a16 authored by Jens Nolte's avatar Jens Nolte
Browse files

Fix server example

parent cbf4c384
No related branches found
No related tags found
No related merge requests found
......@@ -2,12 +2,39 @@ module Main (main) where
import Quasar
import Quasar.Prelude
import Quasar.Wayland.Surface
import Quasar.Wayland.Server
import Quasar.Wayland.Server.Registry
import Quasar.Wayland.Protocol
import Quasar.Wayland.Protocol.Generated
main :: IO ()
main = runQuasarAndExit (stderrLogger LogLevelWarning) do
registry <- newRegistry
let
shmGlobal = createGlobal @Interface_wl_shm maxVersion (\_ -> traceM "wl_shm not implemented")
layerShellGlobal = createGlobal @Interface_zwlr_layer_shell_v1 maxVersion (\x -> setRequestHandler x layerShellHandler)
registry <- newRegistry [compositorGlobal @ShmBufferBackend, shmGlobal, layerShellGlobal]
server <- newWaylandServer registry
listenAt "example.socket" server
sleepForever
layerShellHandler :: RequestHandler_zwlr_layer_shell_v1
layerShellHandler =
RequestHandler_zwlr_layer_shell_v1 {
get_layer_surface = \wlLayerSurface _ _ _ _ -> setRequestHandler wlLayerSurface layerSurfaceHandler,
destroy = pure ()
}
layerSurfaceHandler :: RequestHandler_zwlr_layer_surface_v1
layerSurfaceHandler =
RequestHandler_zwlr_layer_surface_v1 {
set_size = \_ _ -> pure (),
set_anchor = \_ -> pure (),
set_exclusive_zone = \_ -> pure (),
set_margin = \_ _ _ _ -> pure (),
set_keyboard_interactivity = \_ -> pure (),
get_popup = \_ -> pure (),
ack_configure = \_ -> pure (),
destroy = pure (),
set_layer = \_ -> pure ()
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment