Way(land) back when#
Tue, 02 Apr 2013 21:49:06 +0000
It's been a little while since I made progress on psadan ($dayjob and daddy duty), but from looking at the commit log I see it's even longer since I wrote about any of it. So:
I wrote a macro. with-sync
does what he name suggests: it executes
its body, then sends a sync
message to the wl_display
, then waits
for the callback. This is the standard Wayland way to make sure that
stuff has finished happening before doing more stuff. The actual
macro implementation was pretty similar to writing macros in CL except
that the quasiquote escape is ~
not ,
- and that this is a Lisp-1,
so declaring a local variable called promise
turns out to be a bad
idea when you also want to call the function (promise)
We refactored the handle-message
and listen
functions to return the
new state of the agent that runs them, instead of keeping the globals
in an atom inside it. Bcause we only update globals through the
agent, this saves us from having to keep them in an atom, which felt
kind of ugly.
And finally: psadan now parses the wl_drm
protocol as well as the
regular one - that bit was easy, it's just another file of XML to
parse. This is however where I got bogged down quite comprehensively
in how we actually use the stuff though: there are a lot of bits. I'm
hoping that JOGL , possibly in
conjunction with its
Pbuffer
support, is (a) relevant, (b) sufficient, but even then there's
titting around with ioctls to be done which is not readily doable in
the JVM.