モチーフはわかりませんが、解決策1は私にとって非常に悪い考えのように聞こえます。ツールキットにはいくつかの特定の機能があり、交換することはできません。そうしないと、ソフトウェアに対して簡単に異なるフロントエンドを使用することになりますが、それにはかなりの作業が必要になるため、そうではありません。
あなたのソリューション2、特にツリーのような構造がよくわかりません。どの画面がいつ現れるかを示す図ですか?それは良い考えです。現在の画面のスクリーンショットを撮り、それらを矢印付きの大きな画像にマージすると、どのアクションがどの画面につながるかを説明するのに役立ちます.
次に、GUI ロジックがプログラム内で明確に分離されているかどうか、またはすべてが関連付けられているかどうかを確認する必要があります。それが同点である場合、多くの作業が必要になり、GTK でプログラムを完全に再実装する可能性が高くなります!
しかし、 Gladeを使用して GTK GUI を設計できることを忘れないでください。これにより、GUI 作成コードのかなりの数を節約できます。
あなたのアプリは 80k LOC であるため、これは大きなプロジェクトであり、達成までに数か月かかる可能性があると思います。GTK アプリのスケルトンを作成し、プログラムの内部ロジックをコピーして貼り付ける必要があります。画面ごとに再実装を開始すると、実際の改善が見られます。一度にすべてをやろうとすると、進歩が見られずに落胆してしまいます.
これはすべて個人的なアプローチであり、それが私のやり方です。他の人がより良い移行計画を見つけるかもしれません。
gtk-app-devel-list メーリング リストで検索すると、より多くのアドバイスを見つけることができます(同様の質問が既に寄せられています。このような質問があります)。