Browse Source

try to use the window iterator to change focus

fix-resizing
Wesley Kerfoot 5 years ago
parent
commit
0ce4d13630
  1. 8
      src/nimwin.nim

8
src/nimwin.nim

@ -16,7 +16,7 @@ type Window = ref object of RootObj
win : TWindow win : TWindow
screen : PScreen screen : PScreen
iterator getChildren(display : PDisplay, rootHeight : int, rootWidth : int) : Window = iterator getChildren(display : PDisplay) : Window =
var currentWindow : PWindow var currentWindow : PWindow
var rootReturn : TWindow var rootReturn : TWindow
var parentReturn : TWindow var parentReturn : TWindow
@ -168,6 +168,12 @@ when isMainModule:
if ev.xKey.subWindow != None: if ev.xKey.subWindow != None:
# Cycle through subwindows of the root window # Cycle through subwindows of the root window
discard XCirculateSubwindows(display, root, RaiseLowest) discard XCirculateSubwindows(display, root, RaiseLowest)
discard display.XFlush()
let windowStack = toSeq(getChildren(display))
echo windowStack.len
discard display.XSetInputFocus(windowStack[^1].win, RevertToPointerRoot, CurrentTime)
elif (ev.theType == ButtonPress) and (ev.xButton.subWindow != None): elif (ev.theType == ButtonPress) and (ev.xButton.subWindow != None):
discard XGetWindowAttributes(display, ev.xButton.subWindow, attr.addr) discard XGetWindowAttributes(display, ev.xButton.subWindow, attr.addr)

Loading…
Cancel
Save