Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
;; This file:
;;   http://angg.twu.net/elisp/frames.el.html
;;   http://angg.twu.net/elisp/frames.el
;;           (find-angg "elisp/frames.el")
;; Author: Eduardo Ochs <eduardoochs@gmail.com>
;; Version: 2021nov15
;;
;; (defun e () (interactive) (find-angg "elisp/frames.el"))
;; https://lists.gnu.org/archive/html/eev/2021-10/msg00000.html
;; https://lists.gnu.org/archive/html/eev/2021-11/msg00016.html
;; (load (buffer-file-name))


;; (find-elnode "Creating Frames")
;; (find-elgrep "grep --color=auto -nH --null -e make-frame *.el */*.el")
;; (find-elnode "Parameter Access")
;; (find-elnode "Frame Titles")
;; (find-elnode "Raising and Lowering")
;;
;; (make-frame '((title . "Foo")))
;; (make-frame '((title . "Bar")))
;;                                    (frame-list)
;;                             (nth 0 (frame-list))
;;           (frame-parameter  (nth 0 (frame-list)) 'title)
;;           (frame-parameter  (nth 1 (frame-list)) 'title)
;; (find-epp (frame-parameters (nth 0 (frame-list))))
;; (find-epp (frame-parameters (nth 1 (frame-list))))


;; 2021dec17:

(defun ee-first-frame-with-title (title)
  "Return the first frame with title TITLE or nil if none exists."
  (let ((frameswiththattitle
	 (cl-loop for frame in (frame-list)
		  if (equal title (frame-parameter frame 'title))
		  collect frame)))
    (car frameswiththattitle)))

(defun ee-select-frame (title)
  "Like `select-frame-set-input-focus', but on a frame with title TITLE.
Use the first frame with that title if several exist. If there isn't a
frame with that title, create one."
  (let ((frame (ee-first-frame-with-title title)))
    (if frame
	(select-frame-set-input-focus frame)
      (let ((newframe (make-frame `((title . ,title)))))
	(select-frame-set-input-focus newframe)))))

(defun find-wset-F () (ee-select-frame (car sexps)) (setq sexps (cdr sexps)))



;; (find-clnode "Loop Facility")
;; (find-clnode "Loop Examples")
;; (find-clnode "Other Clauses" "if CONDITION CLAUSE")

(defun ee-frames-with-title (title)
   (cl-loop for fr in (frame-list)
            if (equal title (frame-parameter fr 'title))
	    collect fr))

(defun ee-frame-with-title (title)
  (car (ee-frames-with-title title)))







;; (make-frame '((title . "Foo")))
;; (ee-frames-with-title "Foo")
;;  (ee-frame-with-title "Foo")
;; (ee-frames-with-title "SpXlY")
;;  (ee-frame-with-title "SpXlY")

;; (find-elnode "Input Focus")
;; (find-elnode "Input Focus" "Function: select-frame-set-input-focus")
;; (ee-use-frame "Foo")
;; (ee-use-frame "Bar")
;;
(defun ee-use-frame (title)
  (let ((fr (ee-frame-with-title title)))
    (if fr
	(select-frame-set-input-focus fr)
      (let ((newfr (make-frame `((title . ,title)))))
	(select-frame-set-input-focus newfr)))))

;; (find-multiwindow-intro)
;; (find-multiwindow-intro "2. `find-wset'")
;; (find-multiwindow-intro "8. Adding support for new characters in `find-wset'")
;; (find-efunction 'find-wset-o)

(defun find-wset-F () (ee-use-frame (car sexps)) (setq sexps (cdr sexps)))

;; (find-wset "13o_"     '(find-ebuffer "Fff"))
;; (find-wset "F_" "Foo" '(find-ebuffer "Fff"))
;; (find-wset "F_" "Bar" '(find-ebuffer "Bbb"))