やっぱ自作するわけだからオリジナルな実装*1が欲しいよね。非矩形ウィンドウは難しそうだけど、半透明ウィンドウならまだ大丈夫……かな。時間はかかりそうだけど、頑張ってみよう。
単に C 言語での実装だったんだよね、うん。Qt は C++ らしいから無理、コーディングが出来ない。C++ はオブジェクト指向言語だから、GUI のプログラムは書きやすいんじゃないかと勝手に思う。携帯アプリを Java で書いたことがあるからね。
Java と C++ はどの程度違う言語なのかはっきりとしないけど、本格的に新しい言語を勉強するとしたら C# かな。Unix 系 OS でも動作できる環境が整いつつあるし、MS のツールも悪くはないと思う。リファレンスが日本語で提供されている辺りも良い。
だからといって直ぐに乗り換える訳にはいかない。なにせ Win < Fedora な利用率。
課題が片付かないので久しぶりにやってみた(自虐行為)。あんまし生産的なことが出来なかったけど、sylpheed のソースと GTK+の公式サイトを頼りに window ウィジットの組み方やメニューバーを生成するときの ItemFactory を勉強した。i18n してないけどね。
あとコールバック関数の実装方法を勉強しなきゃだけど、これが一番面倒。分割コンパイルしているわけだが、どうまとめれば良いのか。今はコールバック関数だけを集めたソースとヘッダファイルを用意している。この方法だとソースコードの可読性が向上する(gtk_signal_connect() で指定されている関数は一カ所に集約されているし)と信じてるが、関数が増えると編集する手間が増える(特にヘッダファイルの編集が面倒/ぇ)。一方、コールバック関数も関連の関数が納められているソースファイルの中に閉じこめちゃえばヘッダファイルの読み込みとかが少なくなる(多いからって損することは無いと思うけど)。
やっぱ CUI が一番楽ですわ。