Hi, Martin,
These are the two options on the table?
(let ((frame-inhibit-make-frame-hidden-buffer-check t))
(with-current-buffer " *string-pixel-width*"
(make-frame)))
;; could also do this if users want the behavior all the time
(setq frame-inhibit-make-frame-hidden-buffer-check t)
(with-current-buffer " *string-pixel-width*"
(setq-local frame-inhibit-make-frame-hidden-buffer-check t)
(make-frame)
(kill-local-variable 'frame-inhibit-make-frame-hidden-buffer-check))
I prefer the former over the latter. It seems harmonious with other frame-related controls such as frame-resize-pixelwise and frame-inhibit-implied-resize, unless I'm missing some subtlety, which I surely am.
-Stephane