[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:419]menubar and minibuffer.



>>>>> In <uu3bcyrpw.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> 
>>>>>	"himi" = Miyashita Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:

himi> 2.... 今までの大きさと、出来るだけ変わらないようにResizeする。

  この方法で再度トライしてみましたが、相変わらず

   1 Menubar が2行のとき C-x 5 2 でフレームを新たに作成すると1行分フレーム
      の大きさが小さくなる。
   2 フレームの上をつまんで resize するとフレームの下の位置が変わってしまう。

  といった2点の問題が残ります。

  menubar が2行になるときの条件をどこかで判断できればいいのですが、その方法
  が今のところ見つかりません。

  で、今日見てみたところ、1が起きるときは mw32fns.c の L2140 の

	rows = PIXEL_TO_CHAR_HEIGHT (f, height);

  が2行小さな値を返してきています。
  具体的に言うとたとえば menubar が2行で、新規フレームを作成する前の行数が
  40 とすると C-x 5 2 でフレームを作るとそのフレームの行数が 38 になるのです。
  menubar が1行大きくなったことを考えると、返してきてほしい値は 39 なんですが
  どうしても1行小さな値が帰ってきます。

  これがちょっと関係するかな、と疑っています。
  さらに1の問題を mw32fns.c の L2220 あたりの

     case WM_WINDOWPOSCHANGED:

  で解決しようとすると menubar が1行の場合新規フレームを作成すると既存の
  フレームより1行分大きくなってしまいます。

  今、どうにかして menubar が2行になるときの条件を探しているのですが、イマイ
  チ条件を断定できません。

;; 結局、この条件を探す事に終始しそうな気がします。

himi> 2なら簡単ですね。だれかやってみます?
himi> wdiff, hdiffを引くのではなくて...^^

  と himi さんがいっていましたが、私の力ではどうもそれほど簡単ではないよう
  です。
  どうにかして f->output_data あたりから menubar が2行になる条件を割り出し
  たいと考えているんですが、何かいい方法ありませんでしょうか??

  それと、wdiff , hdiff を引かずに

himi> 2.... 今までの大きさと、出来るだけ変わらないようにResizeする。

  する方法もイマイチうまく出来そうにないです。

  himi さん、お忙しいところ申し訳ありませんがちょっと助けていただけますか??
  どなたかいい方法を考えている方いませんか??

;; みなさん、minibuffer が2行にならないように frame を設定していて
;; 困っていないのかな??

-- 
  Tatsuya Ichikawa : <t-ichi@xxxxxxxxxxxxxxxxx>
  PGP Public Key : See below url. 
  http://www.icat.or.jp/cgi-bin/pgpsearchkey.pl?op=get&search=0x0A2D6599