So to me it looks like some state/hint either on Xmonad's or Emacs' side isn't refreshed or heeded when switching workspace. I actually kind of like that Emacs frames on workspaces other than the current one are considered invisible now, because of course they're not visible :). But switching back to that workspace should ideally make all frames visible again. I'm certain that there are both Xmonad and Emacs hooks that allow the user to program this, but previously this wasn't needed. BTW, I forgot to include in the recipe above that (mapc #'make-frame-visible (frame-list)) also changes nothing. It seems that the only thing that deiconifies frames is giving them input focus. [ P.S. Let me know if fullscreen inline screenshots are annoying, and what to do instead. I passed the images through pngquant so that at least their size is small. ] > As soon as you have done that, I would like to give you a few > instructions to make the code that broke this a NOOP and, in the worst > case, make its execution optional on tiling WMs. Thanks, -- Basil In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars) of 2021-05-13 built on tia Repository revision: 43701a84367b76ccc93ad46f89110486988eec10 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12011000 System Description: Debian GNU/Linux bullseye/sid Configured using: 'configure 'CC=ccache gcc' 'CFLAGS=-O2 -march=native' --config-cache --prefix=/home/blc/.local --enable-checking=structs --with-x-toolkit=lucid --with-file-notification=yes --with-x' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XAW3D XDBE XIM XPM LUCID ZLIB