From 98014d7173b5840b7daab4d579cc185eecd2c54c Mon Sep 17 00:00:00 2001 From: Wesley Kerfoot Date: Wed, 12 Aug 2020 17:24:37 -0400 Subject: [PATCH] check if a window is trackable before removing it --- src/nimwin.nim | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/nimwin.nim b/src/nimwin.nim index f1d6e12..0c47982 100644 --- a/src/nimwin.nim +++ b/src/nimwin.nim @@ -570,10 +570,11 @@ when isMainModule: elif (ev.theType == UnmapNotify): # Switch focus potentially when a window is unmapped windowZipper = windowZipper.zipperRemove(ev.xunmap.window) - let focus = windowZipper.zipperFocus - if focus.isSome: - discard display.XSetInputFocus(focus.get, RevertToPointerRoot, CurrentTime) - discard display.XRaiseWindow(focus.get) + if display.shouldTrackWindow(ev.xunmap.window.addr): + let focus = windowZipper.zipperFocus + if focus.isSome: + discard display.XSetInputFocus(focus.get, RevertToPointerRoot, CurrentTime) + discard display.XRaiseWindow(focus.get) elif (ev.theType == MapNotify) and (ev.xmap.override_redirect == 0): let rootAttrs = getAttributes(display, root.addr)