If you use Icicles then you can use command icicle-select-window to switch to windows by name, using completion.
icicle-select-window is an interactive compiled Lisp function in
Select window by its name.
With no prefix arg, candidate windows are those of the selected frame.
With a prefix arg:
You could try psession package. I find it fills exactly my needs.
In your init file :
;; For saving minibuffer history, as a replacement of savehist-mode.
;; to save periodically (autosave) your emacs session,
What Org emits here is a printed representation of an otherwise opaque window object. While you can serialize a window to a string, you cannot go back from the string to the window. You can recognize such data types by their printed representation looking like #<...>, see https://www.gnu.org/software/emacs/manual/html_node/elisp/Printed-...
This is a snippet from @arne-babenhauserheide's site for making the frame urgent in X11, while it works it's not portable.
(defun my-frame-urgent-hint-set--for-x11 (frame arg &optional source)
"Set the x11-urgency hint for the frame to arg:
- If arg is nil, unset the urgency.
- If arg is any other value, set the urgency.
If you unset the urgency, ...