Fix for KeePassX window positioning off screen after changing monitors

After removing a secondary monitor from a MacBook, some apps do not properly re-position themselves on your laptop display. KeePassX is one such offender and I was previously manually editing ~/.keepass/config and restarting KeePassX in order to resolve the issue. I came across a much nicer solution on bittube. The solution is great, but the source found there is a bit tricky to copy & paste so I've re-posted here for posterity. Enjoy!
property processesToIgnore : {}

tell application "Finder"

set _b to bounds of window of desktop

set screen_width to item 3 of _b

set screen_height to item 4 of _b

end tell

tell application "System Events"

set allProcesses to application processes

set _results to ""

repeat with i from 1 to count allProcesses

set doIt to 1

repeat with z from 1 to count processesToIgnore

if process i = process (item z of processesToIgnore) then

set doIt to 0

end if

end repeat

if doIt = 1 then

tell process i

repeat with x from 1 to (count windows)

set winPos to position of window x

set _x to item 1 of winPos

set _y to item 2 of winPos

if (_x < 0 or _y  screen_width or _y > screen_height) then

set position of window x to {0, 22}

end if

end repeat

end tell

end if

end repeat

end tell
Posted by Eric Simmerman