reveal

Docs: https://vlaaad.github.io/reveal/ Source: https://github.com/vlaaad/reveal
motform 2021-04-23T06:41:53.060500Z

Super cool! That's is really handy for all of us manic window closers. I updated my emacs-mode to support it.

motform 2021-04-23T07:35:34.061100Z

I'm still having some namespace issues when sending remote controll commands. I'm sure its something on my end, but maybe you can help me out.

motform 2021-04-23T07:38:00.061200Z

Commands like {:vlaaad.reveal/command ((requiring-resolve (quote vlaaad.reveal.ext/clear-output))), :ns #namespace[user]} work flawlessly. However, when I try to open a view using {:vlaaad.reveal/command ((requiring-resolve (quote vlaaad.reveal.ext/open-view)) {:fx/type vlaaad.reveal.ext/action-view, :action :vlaaad.reveal.action/view:bar-chart, :value [1 2 3]}), :ns #namespace[user]} I get a java.lang.ClassNotFoundException. Successfully evaluating any other commands solves the issue for all subsequent view commands, presumeably by then having required the namespaces.

motform 2021-04-23T07:39:58.061400Z

My first instinct was to wrap action-view in a requiring-resolve like so: {:vlaaad.reveal/command ((requiring-resolve (quote vlaaad.reveal.ext/open-view)) {:fx/type (requiring-resolve (quote vlaaad.reveal.ext/action-view)), :action :vlaaad.reveal.action/view:bar-chart, :value [1 2 3]}), :ns #namespace[user]}, but this results in a java.lang.IllegalArgumentException: "No implementation of method: :create of protocol: #'cljfx.lifecycle/Lifecycle found for class: clojure.lang.Var"

vlaaad 2021-04-23T08:01:40.061600Z

Add deref to second requiring-resolve

1
motform 2021-04-23T08:04:39.061800Z

That did the trick, thanks!