The :modeline property still takes:
t => default modeline
nil => no modeline (the default)
But now also accepts:
function => uses its return value as the mode-line-format
anything non-nil => used directly as the mode-line-format
This is to decouple the popup API from the modeline API. You can still
use them compositionally:
(set-popup-rule "abc" :modeline (lambda () (set-modeline! :project)))