i am working on a visual bell package, is there a way to set a face that is relative to another one, instead of just explicitly calling `set-face-attribute`. i mean in a way that applies it somewhat like a theme would. there is 'face-remap-add-relative' but this does not work well with some modeline packages. this is sadly what i have come up with so far.
(defun apply-face (from to)
(let ((old (get-attributes to))
(new (seq-filter #'cdr (get-attributes from))))
(mapc (lambda (attr)
(set-face-attribute to nil (car attr) (cdr attr)))
new)
(lambda ()
(mapc (lambda (attr)
(set-face-attribute to nil (car attr) (cdr attr)))
old))))