[dev] [dwm] Emacs ediff popup window does not get focus

From: Sean MacLennan <seanm_AT_seanm.ca>
Date: Mon, 8 Oct 2018 14:46:17 -0400

At work I have switched from XEmacs to GNU Emacs for various reasons. I
use ediff a LOT. With XEmacs, the ediff popup gets the focus but not so
with GNU Emacs. The focus always stays in the bottom right window. So I
end up with a lot on n characters in that windows (ediff users will
understand).

Here is the xprop and xwininfo output from Emacs (I cut out the icon):

WM_STATE(WM_STATE):
                window state: Normal
                icon window: 0x0
WM_HINTS(WM_HINTS):
                Client accepts input or input focus: True
                Initial state is Normal State.
                bitmap id # to use for icon: 0x20000de
                bitmap id # of mask for icon: 0x20000e4
                window id # of group leader: 0x2000001
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
XdndAware(ATOM) = BITMAP
_NET_WM_ICON(CARDINAL) = Icon (48 x 48):

<cut out actual icon>

_NET_WM_OPAQUE_REGION(CARDINAL) = 7, 0, 130, 7, 0, 7, 144, 35
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 33554612, 33554613
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x20000b3
WM_CLIENT_LEADER(WINDOW): window id # 0x2000001
_NET_WM_PID(CARDINAL) = 18570
WM_LOCALE_NAME(STRING) = "C"
WM_CLIENT_MACHINE(STRING) = "zonker"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                user specified location: 0, 0
                program specified location: 0, 0
                program specified minimum size: 8 by 14
                program specified resize increment: 8 by 14
                program specified base size: 8 by 14
                window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "Ediff", "Emacs"
WM_ICON_NAME(STRING) = "Ediff _/4"
_NET_WM_ICON_NAME(UTF8_STRING) = "Ediff _/4"
WM_NAME(STRING) = "Ediff"
_NET_WM_NAME(UTF8_STRING) = "Ediff"

xwininfo: Window id: 0x20000b2 "Ediff"

  Absolute upper-left X: 856
  Absolute upper-left Y: 1
  Relative upper-left X: 856
  Relative upper-left Y: 1
  Width: 144
  Height: 42
  Depth: 24
  Visual: 0xf4
  Visual Class: TrueColor
  Border width: 1
  Class: InputOutput
  Colormap: 0x200001b (not installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners: +856+1 -918+1 -918-1035 +856-1035
  -geometry 17x2+856+1


The main difference I can see from XEmacs is the WM_SIZE_HINTS. XEmacs
has a more "normal" looking output.

The other hint is that when Emacs creates the ediff window it is seen
briefly in the lower right corner as an empty window then moves. With
XEmacs it is briefly at the right spanning the two right windows.

Any ideas of where to start looking would be greatly appreciated! This
is 100% reproducible, so it is easy to get debug information.

Cheers,
   Sean
Received on Mon Oct 08 2018 - 20:46:17 CEST

This archive was generated by hypermail 2.3.0 : Mon Oct 08 2018 - 20:48:07 CEST