An frame on a window system may be visible, invisible, or iconified. If it is visible, you can see its contents. If it is iconified, the frame's contents do not appear on the screen, but an icon does. If the frame is invisible, it doesn't show on the screen, not even as an icon.
Visibility is meaningless for TTY frames, since only the selected one is actually displayed in any case.
This function makes frame frame visible. If you omit frame, it makes the selected frame visible.
This function de-iconifies frame frame. Under a window system, this is equivalent to
make-frame-visible.
This returns whether frame is currently “visible” (actually in use for display). A frame that is not visible is not updated, and, if it works through a window system, may not show at all.
This returns whether frame is iconified. Not all window managers use icons; some merely unmap the window, so this function is not the inverse of
frame-visible-p. It is possible for a frame to not be visible and not be iconified either. However, if the frame is iconified, it will not be visible. (Under FSF Emacs, the functionality of this function is obtained throughframe-visible-p.)