コンパイルするファイルが、1つのときは、これでもいいのですが、数が多 くなると面倒になり、また時間がかかるようになります。◇◇ Xのコンパイル ◇◇
Xのプログラムをコンパイルする場合は、インクルード・ファイルの ディレクトリやライブラリの指定が必要なことが多いようです。
ちなみに xwireless は、私の環境では、以下のように入力すること でコンパイル可能です。以下のオプションが必要なときもあります。
cc xwireless.c -o xwireless -lXaw -lXmu -lXt -lXext -lX11 -I/usr/X11R6/include,-L/usr/X11R6/lib ※ これらのオプションは、man cc などでコンパイルオプションを確認ください。
面倒な作業は、bash や tcsh の入力のしやすさから気にならないかもしれ ないし、スクリプトにすれば解決する問題です。しかし、スクリプト化では、 既にコンパイルしていて再コンパイルの必要がないファイルまでコンパイルし てしまい無駄な時間がかかってしまいます。
個人の環境だけの場合は、Makefile だけでも十分となりますが、うまく行 かないときなどは、xmkmf で自動的にコンパイルした場合のオプションを調べ てみると良いかもしれません。
このことは、Xでもかわらない。しかし、XなどのGUI環境では、すでに 描いたウィンドウやその内部の絵などが、他のウィンドウで覆い隠されたりなどして、いつ消去されるかわ
からない。
そして、隠されていた部分がそのウィンドウの移動などで、いつ表示される
ようになるかわからない。
このような場合Xでは、再描画が必要なことがアプリケーションに対して
(先に述べたイベントで)知らされて、それに応じて、アプリケーションが 再描画を行うことで処理される。
しかし、今まで説明してきた xwireless や vwireless にこの部分を処理 するコードは、書かれていない。これは、ウィジェット内にその機能があり、 ウィジェットが自動的に再描画を行ってきたためです。
このイベントを『Expose イベント』といいます。
(この動作は、Xlib ベースのプログラムを見るとよくわかると思います。)
ウィジェットには、初期化/描画/サイズ変更/属性設定/破壊などの 内部処理を行うための様々な処理ルーチンが用意され使われています。
このような処理をメソッドと言います。
ここでは、そのうち『Expose イベント』しか紹介しません。 |
参照事項:TopLevelShell, TransientShell, SimpleMenu
参照事項:XtAppAddInput()
参照事項:XtAppAddTimeOut()
参照事項:XtAppAddWorkProc()
国際化がされているなら、以下のようにすると表示されると思います。
.profile, .bashec/ .cshrc, .login 等で以下の表のようにして
シェルの種類 | 設定方法 |
---|---|
B-Shell系のシェル
(bash のみ) |
LANG="ja_JP.eucJP";export LANG
(export LANG="ja_JP.eucJP") |
C-Shell系のシェル | setenv LANG "ja_JP.eucJP" |
コード体系 | 地域名 |
---|---|
EUC | ja
ja_JP ja_JP.ujis ja_JP.eucJP Jp_JP ja_JP.AJEC ja_JP.EUC |
シフトJIS | ja_JP.SJIS
ja_JP.mscode |
JIS | ja_JP.ISO-2022-JP
ja_JP.JIS ja_JP.jis7 |
XtSetLanguageProc(NULL, NULL, NULL); |
---|
*international: True
*fontSet: -misc-*-*-R-*-*-14-*-*-*-* |
わたしは、自分の好みで、アプリケーション・デフォルト・ファイルの "fontSet"リソースで2つのフォントを指定しているところが多くありま す。このような設定になっているときは、半角の英数字などのコードが、 JIS X0201-1976 と若干異なっているため、一部のフォントが異なってしま います。
JIS X0201-1976 | iso8859-1 (Latin-1) | |
---|---|---|
"\"(0x5d) | 円記号 | バック・スラッシュ |
"~"(0x7e) | オーバーライン | チルダ |
*fontSet: -misc-*-*-R-*-*-14-*-*-*-* |
---|
テキスト版のドキュメントも存在しますが、こちらの HTML 版を基準に 修正を主ないます。
なお、ご意見、ご希望等ございましたら、お聞かせください。
上記の理由から、ご理解頂けない点は、ご自身にあると思ってはいけません。
「それは、筆者に問題があるからだ!!」と思っていいです。
「これでは、筆者に任しておけない」と言うところまで思わなくても、 「ちょっと、書き加えたいことがあるんだけど」って方は、遠慮なく書き加 えてください。最終に更新した方は、『いつ』,『誰が』変更したものか明記 してください。たとえば、AT用の情報を加筆して、TOWNS/AT兼用に するなど。
しかし、それは、伝えてもらわないと直せないので、なにとぞ、よろしくお 願いします。(誤字脱字/誤変換も多いと思います。)
なお、添付ソフトウェアを使用されて、誤操作やバグなどで、被害・損害を
受けられてもなんら保証できません。
添付ソフトウェアは、GNUのGPL扱いとします。
丸市 展之 (Nobuyuki Maruichi)
- NIFTY-Serve ID:HFD03621
- E-mail:HFD03621@nifty.ne.jp