martin rudalics writes: >> In the end, we would still leave the function interface so that users >> can still call the discussed procedures from lisp code, right? > > I think so, yes. > >> (defun display-monitor-attribute (attribute &optional frame x y) >> "Return the value of the attribute of the 'current' monitor. >> By default, use the frame info to determine the current monitor, >> but if x and y are non-nil then use the given coordinates to >> determine it." >> (if (and x y) > > Probably, FRAME should be replaced by DISPLAY as in other ‘display-...’ > functions. X and Y must be checked properly to avoid throwing an error > when they are used in the arithmetics. And the doc-string should > explicitly state that the first argument is ignored when X and Y are > both non-nil. I fixed up the docstrings to match display-monitor-attributes-list. Don't you want to throw an error when x and y are used, but are not integers? Also, should yet another procedure be created that abstracts out adding the min_{x,y} and width/height components of the geometry/workarea attributes, or should it be expected for each caller to do that manually? The current diff is attached below: