There is an inherent order of the visible frames, but it does not coincide with any particular user-wished order. To cycle through frames in that inherent order you can use command other-frame
(C-x 5 o
).
To move through frames in an arbitrary order that you choose, you would need to create a list or alist of them in that order, and cycle through it.
If you use Icicles then you can at least choose a frame by its name, using completion, with command icicle-select-frame
(bound to C-x 5 o
in Icicle mode).
And you can sort the completion candidates in various ways, and then cycle through candidates in that sort order. You can also define your own sort orders, so if you have a set layout of frames then you can use a custom sort order than cycles through them in the order you want.
(cdr (assq 'top (frame-parameters (selected-frame))))
and LEFT:(cdr (assq 'left (frame-parameters (selected-frame))))
-- cycle through theframe-list
with something likemapc
ormapcar
. And, there is a means of obtaining the bounds --frame-geometry
might be helpful with respect to the outer-size. – lawlist Dec 27 '16 at 03:31