Hi, This patch fixes a bug that occurs when running Emacs in a window manager that does not set _NET_WM_STATE. The patch is simplest fix that restores expected behavior for window managers that do not set _NET_WM_STATE, but I have no idea whether there are other issues that may be occurring. I'm guessing that there are also likely issues with other logic in the MapNotify case that uses not_hidden for window managers that does not set _NET_WM_STATE. Thus, the more complex solution, which I am not knowledgeable enough to implement correctly, is to fix x_get_current_wm_state so that it works on window managers that do not set _NET_WM_STATE. I am unfamiliar with this section of the code, so my explanation may be off and a sanity check would be appreciated. Best, Tom A description of the bug for the record. The bug manifests as frames rendering as solid background after changing desktops on window managers that do not set _NET_WM_STATE. When changing desktops and returning to a desktop with Emacs frames, any frame that is not focused will render the whole frame as only the background color for the current theme. I have run a git bisect and found that the first bad commit is 483c5e953c12a95382bef4a3b6769a680c32fe86 Fix two GTK3 event handling issues. I think that the bug is occurring because 483c5e953c1 changed calls to SET_FRAME_VISIBLE and friends from being unconditional to being conditional on not_hidden, which returns incorrect information when _NET_WM_STATE is not set (I think). I encountered the bug on fluxbox but the behavior should happen for any window manager that does not set _NET_WM_STATE. It should be possible to reproduce the bug using the following steps. Run a window manager that does not set _NET_WM_STATE, e.g. fluxbox. In a terminal run the following and when the newly built Emacs launches alt-tab to the terminal window, and then leave and return to the desktop with the Emacs frame. #+begin_src bash pushd ~/git/emacs git checkout 483c5e953c12a95382bef4a3b6769a680c32fe86 git clean -dfx && ./autogen.sh && ./configure && make && \ src/emacs -q #+end_src