Gnome使っている奴は負け組at UNIX
Gnome使っている奴は負け組 - 暇つぶし2ch415:412
04/03/24 16:11.net
>>414
そんな複雑な話じゃないです。

ちょっと自分でも混乱してたので、以前書いたソースを眺めて整理しました。

コマンドラインオプションで -geometry -0-0 みたいな設定を許すとすると、
自前で左上の座標を計算して gtk_widget_set_uposition() に渡す必要があるよね。
これには、toplevel のウィンドウサイズを取得する必要がある。

けど、これが toplevel を realize した後じゃないと取得できないんですよ。なので、

gtk_signal_connect(GTK_OBJECT(toplevel), "configure_event",GTK_SIGNAL_FUNC(adjust), NULL);

とかして、adjust() の中で gdk_window_get_size() して gtk_widget_set_uposition() する
ことになります。

ここで、toplevel 以外の configure_event に引っかけるとダメで、このために
自分のコードはちょっと汚くなってしまった(これはまぁ実害はないので拘らないことにする)。

で、この方式だと、ウィンドウ出現時に一瞬だけ左上に出てきて、それから実際の場所に
移動させられます。遅いマシンだと結構気になるかも。

例えば、gtk_widget_realize() した時点でサイズを計算し、確定させておけば、
toplevel 以外を realize した状態で gdk_window_get_size() が使えていいんじゃないか、
と思うんですけど、これ、やっぱり技術的に実現困難な問題がある?

GTK+ のソース全部見てないので何とも言えないんだけど。



次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch