When webbrowser.open() is called, pysol stops responding to input events until browser exits and function returns. This gets in the way of focus stealing prevention as implemented in several window managers for X11. (With dwm I get into situation when focus is completely lost and no window respond to input events.)
The attached patch subthreads webbrowser.open(), so that application immediately starts getting input events. As exceptions inside threads are not raised to the caller, I also completely removed try: except: dance.
Somehow the patch got lost...