in reply to
Can't call method "get_screen" on an undefined value
First, I note that the phrase get_screen does not appear on line 21. This means that the error message you are reporting cannot come from your posted code. If you'd like help debugging, please post the code you are actually running when the error message is issued. Also please wrap error messages in <code> tags, just to make sure nothing gets mangled. Please see How do I post a question effectively?.
Errors of this type are issued when you invoke a method on a variable that is currently undefined. I'm guessing that since the phrase get_screen only appears on line 14 with $window, $window is undefined. This probably means your initialization call on line 11 failed. So I'd start there.
#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.