[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[b-free: 1835] Re: B-Free に X を載せる (Re: B-Free OSの解説ほん 





Hidetosi Ochiai wrote:

> イベントの流れをちょっとだけ追ってみました。
> プロハンを見るかぎり、どうやら BTRON1 だとイベントは
> ウインドウマネージャを一切経由せずに
> 直接アクティブプロセスに送られるみたいです。
> ウインドウマネージャがイベントを把握できるのは、
> プロセスがwget_evt()を使ってイベントを取り出した時だけです。

あれ?そうでしたっけ?すべての event は、window manager に送られ、そこで再加工され
て、同時に
window manager 独自の event も追加され(例えば、INACT)、その後に、
前面 window の疑似 active process に回され、疑似 active process は、
自分に有効なように送られてきた event を加工・消費し、その結末が、
Active window process に到達するという感じではないですか?

ただ、疑似 active process への event の回し方が、event の pass という形態を
とっていて、それが、今一つという声があったような、、、。(^_^;

っていうか、核の event を本当は、直接とる「べきではない」事になっているん
ですよね。BTRON1 は software 割り込みで API を提供しているから、すごく
簡単に核の機能が利用できちゃうけど、、、。

同じ様な状況に、実身仮身 manager の VLINK があって、こいつは核の
file 管理機能が提供する LINK 構造体と同じものですが、より内容が濃く
なっています。だから、核の方ではなるだけ、実身仮身 manager の方を
使うように進めていますよね。

# プロハン 11-21, 1-122 参照。

そういうことで、window の流れの詳しいことは、前に落合さんに送った
(様な気のする) BTRON1 の Window Class をみてください。

# っていうか、まだ持っています? この前、HD が飛んだときに最新版を
# 失ってしまったので、もし、お手数でなければ、そして捨てていなければ
# こちらに送っていただけないでしょうか? 勝手なことを言ってすみません。
# よろしく。m(_._)m



> とすると、アプリケーションが wget_evt()を使わずに
> get_evt()でイベントを取ってしまうと、ウインドウの切り替えが
> 一切できなくなってしまいますね。(実際に確かめた訳ではないです)

ということで、こいつは、rule 違反っていう奴ですね。

> なんだかすごい構造。これってもしかしたら
> できるかぎり「マネージャ」ではなく「ライブラリ」になるように
> 仕様を決めたんじゃないかな、と思ったりもします。

ははは、、、。(^_^;;;

>
>
> ===
>   落合秀俊   名古屋大学工学部情報工学科
>   h953046b@ice.nuie.nagoya-u.ac.jp



-Aki.