Ceramic ยป API Reference


Start the Electron process.
Stop the Electron process.
quit(&optional (exit-status 0))
Kill the Electron process and the Lisp process.
define-entry-point(system-name nil &body body)
Define the application's entry point.


setup(&key force)
Set up everything needed to start developing.


A browser window.
  • %id
    A unique string ID for the window.
make-window(&key title url width height)
Create a window.
title((window window))
Return the window's title.
url((window window))
Return the window's current URL.
loadingp((window window))
Return whether the window is loading a new page.
crashedp((window window))
Return whether the window has crashed.
show((window window))
Show the window to the user.
hide((window window))
Hide the window from the user.
close((window window))
Close the window.
center((window window))
Move the window to the center of the screen.
reload((window window) &key ignore-cache)
Reload the window. Optionally ignore the cache.
stop-loading((window window))
Stop any navigation.
back((window window))
Go back in the page history.
forward((window window))
Go forward in the page history.
undo((window window))
Undo changes.
redo((window window))
Redo changes.
cut((window window))
Cut selected text.
copy((window window))
Copy selected text.
paste((window window))
Paste text.
select-all((window window))
Select all text.
unselect((window window))
Cancel the selection.
open-dev-tools((window window))
Open the developer tools.
close-dev-tools((window window))
Close the developer tools.


bundle(system-name &key bundle-pathname system-directory)
Compile the application to an executable, and ship it with its resources.


define-resources(system-name nil &rest pairs)
Define resource tags for a system.
Return the directory associated to a resource tag.
resource(resource-tag pathname)
Return the pathname of a resource relative to the directory of a resource tag.


The Ceramic driver.
  • process
    The Electron process.
  • context
    The remote-js object.
  • responses
    A hash table of message IDs to evaluation results.
The global driver object.
Start the Electron process and the remote-js server.
Stop the Electron process and the remote-js server.
js(driver js)
Evaluate a string of JavaScript in the Electron process.
sync-js(driver js)
Synchronously evaluate JavaScript in the Electron process, returning a string containing the result of the evaluation.
Return the port the WebSockets server is running on.
on-message(driver message)
Receive a message from a WebSockets client.