it sometimes happens that the windows version of the OF application I am developing (that runs in OF_FULLSCREEN mode) hangs, for various reasons that are not important now. What happens is that I cannot find a way to kill it, because it will always stay on top of task manager or terminal windows, and does not respond to ALT+TAB+Close Button.
When it happens the only way is to logout+login the current user, or reboot the machine. On Linux it is easy enough to kill the process via remote ssh, but what can be done on Windows?
You can create a new desktop on windows 10 and kill the app from there.
What I have seen (on Windows 7) is that the crashed OF program is displaying on top of almost everything (not the display of apps to cycle through with Alt+TAB, but that I can still shift focus, open Task Manager (though it’s not visible), or shift to Visual Studio (also not visible). So by finding keys that will stop the debugging process and/or close the process, it is possible to escape. I still haven’t written down what I’ve found that works. If I get a moment, I’ll go try to sort that out.
Another thing would be to trap the error and fail to someplace more functional.
I think the issue is that when we switched from GLUT to GLFW we were running into issues where system notifications and popups were appearing over a fullscreen app. Which as you can imagine is pretty undesirable for installations or performances.
To solve that I think we set the window level for Fullscreen on windows pretty high to it comes above almost everything. The downside is when an App crashes in fullscreen it makes it hard to even exit the app if its running from the IDE.
I’ll open an GitHub issue for this as there might be a better way to do this now in GLFW.
Edit: will use this issue to track the fix.
Thank you this is a workaround, I had to press the windows key to expose the taskbar, then create a new desktop, alt-tab to show running applications, open the task manager, drag it to the new screen and kill from there. Not the quickest procedure but at least it solved the problem