Ataxia.

COMPOSITOR

Keep the boundaries clear.

Runtime bridges wlroots.

Kernel owns seats and outputs.

World defines the experience.

(ataxia.sly-control:agent-apply
 (lambda (kernel world)
   (declare (ignore kernel))
   (set-window-position
    world window 40d0 80d0))
 :refresh :world-managed)
$ ./scripts/ataxia-eval

(:world INFINITE-WORLD
 :status :running
 :generation 0)

CL-USER>
export component Launcher
inherits Window {
  callback launch(string);
  in property <string> query;

  Text { text: root.query; }
}

Open something.

Firefoxavailable
Terminalavailable
Editoravailable
READING

Keep these within reach.

Wayland event loops

The live Lisp image

Programmable interfaces

76%
x 100 / y 180
The approach

Windows, tools,
and behavior.

Ataxia is a Common Lisp Wayland compositor. Agents can arrange windows, build tools, and change behavior while your applications stay open.

01

Agent access.

Agents can inspect the workspace, arrange windows, and create interfaces that ask for your input. They read and modify objects directly.

02

World behavior.

Tiling, scrolling columns, an infinite plane, or a different geometry. Define how applications are placed, rendered, and interacted with.

03

Runtime changes.

Inspect state and redefine behavior in a running Common Lisp image. Keep your applications open while you change the world around them.

Common Lisp / SLY

Read and change
the running system.

Connect through SLY. Read the current state. Call a function. The same live image is available to you and your agents.

Read the agent interface
ListenerLive image
Common Lisp SLY / localhost:4005
;; A message, in the running desktop.

(ataxia.sly-control:agent-apply
 (lambda (kernel world)
 (declare (ignore kernel))
 (ataxia.infinite-world:show-notification
 world "Your workspace is ready."
 :title "AGENT")))

;; No restart.

A Common Lisp Wayland compositor.
Built on wlroots. Native UI with Slint.

Explore the source