icon heya, i'm mirvox.

I develop languages and applications for a better future.

experience projects papers github email cv
all projects

lactase

The window compositor of milk: soft shadows, open and close animations, transparency, background blur and smooth rounded corners, in the spirit of picom. Made in Odin.

About

lactase is the compositor of milk: soft shadows, windows that fade and zoom in and out, transparency, background blur and smooth rounded corners, in the spirit of picom. milk starts it with the session and opens its settings from milk's own, but it also runs on its own under any X11 window manager, and lactase start --replace takes over from picom or compton.

Features

  • OpenGL (GLX) rendering, falling back to XRender by itself when GLX cannot start.
  • Soft shadows using Evan Wallace's closed form for the shadow of a rounded rectangle.
  • Background blur with Marius Bjørge's dual Kawase blur, with a strength from 1 to 10.
  • Open and close animations (fade, zoom or slide), workspace transitions, active and inactive opacity, and dimming of unfocused windows.
  • Follows milk's corner radius and animation speed, and lets fullscreen games and videos skip the compositor.
  • A settings app in milk's look that can pick a window with the mouse to create a rule for it.
  • Configuration in lactase.json, reloaded automatically whenever it changes.

Per-window rules

Rules match on a window's class, instance, title or type, and set its opacity, shadow, blur, corners, animation or dimming. Later rules win.

"rules": [
  {"type": "dock", "shadow": false, "corners": 0},
  {"class": "Alacritty", "opacity": 0.9, "blur": true}
]

Commands

lactase              # start in the background
lactase settings     # the settings app, in milk's look
lactase restart      # replace the running lactase
lactase stop
lactase status       # renderer and configuration in use
lactase check        # validate lactase.json and print every option in effect

Released under the MIT License.