4

I have an odd intermittent problem with Emacs disappearing from view. I haven't quite figured out the trigger for this. It doesn't happen often and I can't reproduce it on purpose. Sometimes it happens when losing focus, sometimes while navigating the menu bar, sometimes seemingly random. I'm hoping someone else has seen this and can shed some light on what is going on.

What I mean by "disappearing" is just that, the frame is no longer drawn and cannot be raised into view. The task bar still indicates an Emacs instance and I can interact with that to minimize/maximize it. When the click into the task bar should maximize/raise the frame, the window manager does change to indicate that there is something in the desktop, but nothing is shown. Occasionally I can see the contents of the Emacs frame flash on screen before disappearing again. When I click the task bar again to minimize the window manager changes to reflect an empty desktop again. The only way I've found to fix this is to kill the emacs process and start it back up.

I'm hesitant to blame this on the window manager because I can put other things onto that desktop and interact with them normally. Even other Emacs frames continue to behave normally. I've also never observed the behavior with anything but Emacs frames.

I'm running:

  • Emacs 24.4 (gtk3 toolkit) compiled from source w/ gcc 5.1.0 (.emacs)
  • Awesome WM 3.4.15
  • Xorg 7.4 w/ nvidia-drivers 352.21

I run X across three displays at 5760x1080. The Emacs frame that disappears is generally running maximized on the primary display (the center monitor). The WM is set to floating windows on the desktop that the Emacs frame is on so it shouldn't be some odd interaction from the WM tiling.

Does anyone have any ideas what might be causing this? Has anyone seen this themselves? One second the Emacs frame is in view, then it is just gone, never to reappear.


Some additional details:

When the window is invisible, wmctrl reports its resolution as 1918x1059 which is full screen (minus window decoration and taskbar).

I have also just discovered the invisible window (Emacs frame) can still be interacted with. If I load up another emacsclient somewhere else and then unminimize the invisible window, position the mouse so it would have focus and type I see the text on the buffer I have open elsewhere. Clearly X11 keyboard events are being sent to the window and it is seen as having focus by X.

If the disappearing frame is part an emacsclient GUI frame, I can still connect to the server (started as emacs --daemon) and access all of the buffers and interact with the invisible frame.

As this is likely a bug in emacs, I have filed a bug report and should a solution be found through that channel, I'll post an answer here.

  • What about other frames in the same Emacs instance? (Make sure you have a demon running so you can create one even if you can't interact with the existing frame.) What are the position and dimensions of the frame (wmctrl -lG)? What happens if you replace the window manager by a different one? – Gilles 'SO- stop being evil' Jul 15 '15 at 21:39
  • 1
    I occasionally have this problem when I make emacs full-screen on OS X. I too have yet to determine why this occurs. – GJStein Jul 15 '15 at 22:20
  • @Gilles I added some details. wmctrl reports fullscreen res and I discovered I can interact with the window even though I cannot see it. I'll update with a different wm when I can. – casey Jul 16 '15 at 17:15
  • 2
    Any follow-up on this? I see similar behavior with emacsclient -c windows in Gnome. – BRPocock Oct 21 '15 at 19:25
  • 1
    For the record: running emacs directly works for me, emacsclient -c windows appear invisible, with the expected titles, in the overview and M-Tab switching to them. Pretty much everything else as you describe it, and it's random when it will decide to do this, but persistent once it's started. – BRPocock Oct 21 '15 at 19:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.