digraph stack { compound=true; rankdir="LR"; node [ shape="box"; ] kernel [label="Kernel"]; libinput; xserver [label="X Server"]; record [label="libinput record"]; kernel -> libinput libinput -> xserver kernel -> record; record -> stdout }