diff --git a/src/events/maprequest.nim b/src/events/maprequest.nim index 5cf8b65..70cd2e7 100644 --- a/src/events/maprequest.nim +++ b/src/events/maprequest.nim @@ -94,6 +94,18 @@ proc handleMapRequest*(self: var Wm; ev: XMapRequestEvent): void = discard self.dpy.XSelectInput(ev.window, PropertyChangeMask) discard self.dpy.XReparentWindow(ev.window, frame, 0, cint frameHeight) + # WM_STATE must be set for GTK drag&drop and xprop + # https://github.com/i3/i3/blob/dba30fc9879b42e6b89773c81e1067daa2bb6e23/src/x.c#L1065 + let wm_state: uint8 = NormalState + discard self.dpy.XChangeProperty( + ev.window, + self.dpy.XInternAtom("WM_STATE".cstring, false), + XaWindow, + 8, + PropModeReplace, + cast[cstring](unsafeAddr wm_state), + 1 + ) let top = self.dpy.XCreateWindow(frame, 0, 0, cuint attr.width, cuint frameHeight, 0, attr.depth, InputOutput,