I continue to work on my custom build comand (a WindowCommand). Unfortunately, I'm finding that when I run my external process via subprocess.call(), the ST3 app stops updating the window--it's pretty much completely nonresponive until the external app finishes. That seems to be true of all ST3 instances--that is, if I have 3 projects open w/3 different ST3 windows, building one of them zombifies all 3 windows, which is a major bummer.
So I guess this means I need to run my external process in a newly-spawned thread--is that right? The behavior I'm looking for is:
- user edits script
- user builds--my WindowCommand runs & shells out to the external program
- all instances of ST3 stay responsive while external program runs
- external program ends--control returns to my WindowCommand, which trolls the external-process-created log file for errors/warnings, pops dialogs & opens various output files for inspection.
- am I right that executing my external program on a python thread will give me the behavior I'm after?
- can said threading work in the ST3 environment?
- in figuring out how to do threading, am I okay just reading the raw python docs (e.g., http://docs.python.org/3/library/threading.html), or is there an ST3 API that I need to use?