イベントループ

最初からモードレスのウィンドウを複数立ち上げるようなアプリや、ブロックしたモーダルダイアログからさらにブロックしたモーダルダイアログを起動するようなアプリなんてのもあるだろう。

モーダルでブロックする方は簡単。今のままshell単位でイベントループを廻し、ブロックが一つしかできない今の制限をはずせばいい。

モードレスを複数立ち上げる場合は難しい。全部のウィンドウはopenして、それらを管理するようなクラスがイベントループを廻してる方がいいのかも。全部のウィンドウが閉じたら終了みたいな処理を入れないといけないしね。Displayのdispose処理なんかはS2JFaceで管理してあげたいから、WindowsFormでいうApplicationContextみたいなクラスをS2JFace側から呼び出すような仕組みの方がいいのかも。
画面を出す→消す→次の画面を出すみたいな遷移をユーザーがどうやって管理するかとかも検討しなきゃなぁ。