diff --git a/archives/Accelerated_kde_for_KNOPPIX.php b/archives/Accelerated_kde_for_KNOPPIX.php index efdd14d..b023ff1 100644 --- a/archives/Accelerated_kde_for_KNOPPIX.php +++ b/archives/Accelerated_kde_for_KNOPPIX.php @@ -1,87 +1,87 @@

KDE起動の高速化方法

CDブートのKNOPPIXを前提として、KDE起動の最適化方法を考察する。

startkdeスクリプトの解析

まず、結論として、knoppix起動用のstartkde-knoppixのようなものを用意し、
そちらを起動時に使用するようにするのが最適だと思われる。

以下では、スクリプト内部の解析を行う。

ブートシーケンスの前処理部

startkdeスクリプトで行われている最初の処理

# Check if a KDE session already is running
 if dcop kdesktop >/dev/null 2>&1; then
         echo "KDE seems to be already running on this display."
         xmessage -geometry 500x100 "KDE seems to be already running on this display." > /dev/null 2>/dev/null
         exit 1
 fi

は、既にKDEが起動されているかどうかをテストしているので、KNOPPIXでは必要ない処理だと思われる。
念のためカットできないと思われる。また、バックグラウンドでの実行もできないだろう。

次の

if test -z "$XDM_MANAGED" || echo "$XDM_MANAGED" | grep ",auto" > /dev/null; then
   xsetroot -solid "#C0C0C0"
 fi

もカットできないし、おそらくすぐ実行が終わるので、カットする必要がない。

ブートシーケンスのksplash起動前

ブートシーケンスの始めで、kdehomeの設定処理があるが、$HOME/.kdeに決めうちに変更して問題ないだろう。

その後、フォントディレクトリの初期化処理が走る。

# Activate the kde font directories.
 #
 # There are 4 directories that may be used for supplying fonts for KDE.
 ... (中略)...
 # Only do usr_fdir and usr_odir if they are *not* listed in fontpaths
 test -d "$sys_odir" && xset +fp "$sys_odir"
 test $do_usr_odir -eq 1 && test -d "$usr_odir" && (mkfontdir "$usr_odir" ; xset +fp "$usr_odir")
 test $do_usr_fdir -eq 1 && test -d "$usr_fdir" && (mkfontdir "$usr_fdir" ; xset fp+ "$usr_fdir")
 test -d "$sys_fdir" && xset fp+ "$sys_fdir"
 ... (中略)...
 # Get Ghostscript to look into user's KDE fonts dir for additional Fontmap
 if test -n "$GS_LIB" ; then
     GS_LIB=$usr_fdir:$GS_LIB
     export GS_LIB
 else
     GS_LIB=$usr_fdir
     export GS_LIB
 fi

ここは、おそらくKNOPPIXの場合は環境特有の値を使って処理を簡素化できるだろう。
今後USBメモリからのブートような形で環境を変更できるようになる場合には、
ブートオプションの対応で良いと思う(フォントを追加する人は少ないだろう)。

その少し後にある、以下のkpersonilzerの実行処理は、削っても問題ないだろう。

# run KPersonalizer before the session, if this is the first login
 if kreadconfig --file kpersonalizerrc --group General --key FirstLogin --default true --type bool; then
     # start only dcopserver, don't start whole kdeinit (takes too long)
     echo 'startkde: Running kpersonalizer...'  1>&2
     dcopserver
     kwin --lock &
     kpersonalizer --before-session
     # handle kpersonalizer restarts (language change)
     while test $? -eq 1; do
         kpersonalizer --r --before-session
     done
     dcopserver_shutdown
     # shutdown will also make kwin quit, give it time to do so
     sleep 1
 fi

ksplashの起動後の処理

ここでカットできる部分は、ざっと見た限り存在しない。
簡素化するためには、kdeinit等のソースに手を入れる必要がある。

周辺機器の設定をしているところを並列にするなどできれば、 それだけで速くなるとは思うが……。

Counter: 22, today: 1, yesterday: 0
diff --git a/archives/FAQ1.php b/archives/FAQ1.php index badf99c..ad38e17 100644 --- a/archives/FAQ1.php +++ b/archives/FAQ1.php @@ -1,53 +1,53 @@

日本語を入力できない

質問

KDEで日本語を入力することができません。
どのようにすれば解決できるでしょうか?

回答

日本語を入力する場合には、kinput2などのXIMサーバが起動されている必要があります。

また、環境変数 $LANGを"ja_JP.utf8"(古い環境では"ja_JP.eucJP")にセットし、環境変数 $XMODIFIERSを
"@im=kinput2"(kinput2を使用する場合)にセットする必要があります。
これらの環境変数の設定は、ホームディレクトリにある".bashrc"(bashの場合)や
".cshrc"(tcshの場合)で行うようにすると楽です。

(bashの例)
 LANG=ja_JP.eucJP
 export LANG
 
 XMODIFIERS="@im=kinput2"
 export XMODIFIERS

kinput2などが起動していて、環境変数もセットされているのに
日本語の入力ができない場合、qtconfigを起動して、「Interface」という
タブを開き、一番下の「XIM Input Style」をOn The Spot(またはOver The Spot)にすると
ちゃんと入力できるようになるはずです。

Counter: 32, today: 1, yesterday: 0

コメント


diff --git a/archives/FAQ10.php b/archives/FAQ10.php index 0d76290..bc4a4f9 100644 --- a/archives/FAQ10.php +++ b/archives/FAQ10.php @@ -1,37 +1,37 @@

KDE 3.0 と 3.5 でのプロファイルの共有

質問

ドメインを構築している環境にてKDE 3.0 と 3.5 と異なるコンピュータでデスクトップを共有しているのですがゴミ箱の共有がうまくいきません。両方の環境にて同じゴミ箱を使用するのにはどうしたらいいのでしょうか。

回答

Counter: 22, today: 1, yesterday: 0

コメント


diff --git a/archives/FAQ11.php b/archives/FAQ11.php index 7ebbe73..643a717 100644 --- a/archives/FAQ11.php +++ b/archives/FAQ11.php @@ -1,37 +1,37 @@

Kdevelop Ver.1.4->4へのUP方法

質問

RH7.1(seawolf)AlphaでのKdevelop1.4から4へのバージョンアップはできますか?

回答

Counter: 24, today: 1, yesterday: 0

コメント


diff --git a/archives/FAQ13.php b/archives/FAQ13.php index 7a3bd6b..07c3828 100644 --- a/archives/FAQ13.php +++ b/archives/FAQ13.php @@ -1,40 +1,40 @@

インストール直後のrootパスワード。

質問

インストール直後のrootパスワードが、わかりません。 Admin mode に入れません。

回答

Counter: 30, today: 1, yesterday: 0

コメント


diff --git a/archives/FAQ2.php b/archives/FAQ2.php index 15b999d..f4cb692 100644 --- a/archives/FAQ2.php +++ b/archives/FAQ2.php @@ -1,43 +1,43 @@

ウィンドウを動かすとKDEがフリーズする

質問

ウィンドウを動かそうとするとKDEがフリーズしてしまいます。

回答

KDEコントロールセンターを起動し、「ウィンドウの挙動」の「移動」タブをクリックし、
「移動中のウィンドウの内容を表示」と「サイズ変更中のウィンドウの内容を表示」
にチェックを入れることで、この問題は解消できます。

KDE-3.1.4では直っているはずです:-)

http://bugs.kde.org/show_bug.cgi?id=44881#c13 http://google.co.jp/

Counter: 21, today: 1, yesterday: 0

コメント


diff --git a/archives/FAQ3.php b/archives/FAQ3.php index a692d47..1e5b812 100644 --- a/archives/FAQ3.php +++ b/archives/FAQ3.php @@ -1,51 +1,51 @@

一部のアプリケーションのメニューが文字化け

質問

Netscape、Emacs、xmmsなどの一部のアプリケーションのメニューが
文字化けしてしまって、読むことができません。

回答

まず、KDEコントロールセンターから「色」という設定項目を探し、
「非KDEアプリケーションにも色設定を適用」のチェックを外してみて下さい。

また、ホームディレクトリに"gtkrc-kde"というファイルがある場合は、
削除、または、リネームしてみてください。

それでも解消されない場合は、ホームディレクトリに".gtkrc"というファイルを

style "gtk-default-ja" {
 fontset = "-adobe-helvetica-medium-r-normal--14-100-100-100-p-76-iso8859-1,?
 -ricoh-ms mincho-medium-r-normal--14-*-*-*-*-*-jisx0208.1983-0,?
 -misc-fixed-medium-r-normal--14-*-*-*-*-*-jisx0208.1983-0,?
 *-r-*"
 }
 class "GtkWidget" style "gtk-default-ja"

という内容で作成することで解消されるはずです。

Counter: 19, today: 1, yesterday: 0

コメント


diff --git a/archives/FAQ4.php b/archives/FAQ4.php index 0a5eb0d..4f615fe 100644 --- a/archives/FAQ4.php +++ b/archives/FAQ4.php @@ -1,46 +1,46 @@

画面にごみが残る

質問

Konsoleを使っていると画面にごみが残ってしまいます。

回答

現状では解決の見込みが少ないです。 kterm, krxvt, mlterm等を使うのが賢明です。

是非解決を訴えましょう。 voteをお願いします。 http://bugs.kde.org/show_bug.cgi?id=41744

これも関係していると思います。 http://bugs.kde.org/show_bug.cgi?id=59162
3.1.3では直っているはずですが。Gentooではまだでてないので、未確認です。(Ken)

Counter: 19, today: 1, yesterday: 0

コメント


diff --git a/archives/FAQ5.php b/archives/FAQ5.php index 433da5e..3bf245c 100644 --- a/archives/FAQ5.php +++ b/archives/FAQ5.php @@ -1,40 +1,40 @@

横スクロールバーが不必要な時に出る

質問

3.1.3になって横スクロールバーが不必要な時に出るのですが。

回答

バグとして報告されており、対処するためのパッチが出ています。
また、CVSでは解決されています。
http://bugs.kde.org/show_bug.cgi?id=61730

Counter: 18, today: 1, yesterday: 0

コメント


diff --git a/archives/FAQ6.php b/archives/FAQ6.php index 11f877b..22817a2 100644 --- a/archives/FAQ6.php +++ b/archives/FAQ6.php @@ -1,50 +1,50 @@

googleの検索結果で上部のテーブルがつぶれる

質問

googleで検索を行うと、検索結果の上の方に表示される "ウェブ"、"イメージ"、"グループ"、"ディレクトリ"の表示が つぶれた感じに表示されてしまう。

回答

bus.kde.orgに報告されていて、CVSでは直っています。

<table width="1%"><tr><td>日本語</td></tr></table>
などのときに、テーブル内の文字の幅がゼロになっているのが原因らしいです。

別解

CSSを設定することによってこの現象を回避できます。(対症療法ですが・・・)

body > table > tr > td > center {
 	display: inline;
 }

このような内容のCSSファイルを用意して、Konqueror設定パネルで
上記のファイルをユーザ定義スタイルシートとして指定します。
http://forums.gentoo.org/viewtopic.php?p=346652#346652

Counter: 39, today: 1, yesterday: 0

コメント


diff --git a/archives/FAQ7.php b/archives/FAQ7.php index a5860af..6642ff0 100644 --- a/archives/FAQ7.php +++ b/archives/FAQ7.php @@ -1,42 +1,42 @@

googleの検索ページで日本語入力モードにならない

質問

KDE3.1.1 の環境なのですが、googleの検索ページhttp://www.google.co.jp を表示させた直後にSHIFT+Space で日本語入力のモードになりません。英数字の入力を1文字でも行えば、日本語入力モードになります。なぜでしょうか?

ちなみに、Excite, yahoo等ではおこりません。

回答

入力そのものができないのは、入力スタイルがOn The Spotとなっているためでしょう。Over The Spotに変更すれば、入力ができるようになるはずです。ただ、その場合も確定前の文字列(preedit)が表示されないため、まともに使うためには英数字を入力する必要があります。

Mozillaなどの他のブラウザで問題がないことから、このような挙動となっているのは、KDE側の問題ではないかと思われます。具体的には、KDEのHTMLレンダリングエンジンであるKHTMLか、Konqueror自体の問題ではないかと考えられます。関連するバグがすでにレポートされています(Bug52685)。


なお、入力スタイルの変更は、FAQ/1を参考にしてください。

Counter: 32, today: 1, yesterday: 0

コメント


diff --git a/archives/FAQ8.php b/archives/FAQ8.php index 6138e73..bfc260d 100644 --- a/archives/FAQ8.php +++ b/archives/FAQ8.php @@ -1,38 +1,38 @@

KDevelopでメモリのダンプ

質問

MS社のVisualStudio?では、メモリ領域のダンプが出来ますが、 KDevelopで同じことは出来ますか?

回答

Counter: 22, today: 1, yesterday: 0

コメント


diff --git a/archives/FAQ9.php b/archives/FAQ9.php index 210d7b6..b7c1163 100644 --- a/archives/FAQ9.php +++ b/archives/FAQ9.php @@ -1,37 +1,37 @@

保存先の指定

質問

WEBサイトのファイルを保存しようとすると、保存はしますが、そのファイルがどこに保存されたかが解りません。しかもなぜかファイル名も変わっているみたいなので検索する名前もわかりません。どなたか回答していただければ幸いです。

回答

Counter: 27, today: 1, yesterday: 0

コメント


diff --git a/archives/FrontPage.php b/archives/FrontPage.php index 3181958..5b7f741 100644 --- a/archives/FrontPage.php +++ b/archives/FrontPage.php @@ -1,37 +1,37 @@

JKUG Wiki

このPukiWikiでは、QtおよびKDEのインストールについての情報様々なアプリケーションについての説明FAQTipsや、開発に関するドキュメントなどを扱っています。

各ページの編集・新規ページの追加とも、自由に行ってください。 ただし、初めて"新規ページの作成"を行う際には、一度こちらをご覧ください。 なお、このJKUG Wikiの運営についてはこちらをご覧下さい。

現在翻訳のプロセスに関する意見を求めています。

メニュー

diff --git a/archives/KBabel.php b/archives/KBabel.php index e1a8a36..ef4029d 100644 --- a/archives/KBabel.php +++ b/archives/KBabel.php @@ -1,80 +1,80 @@

KBabel は古いアプリケーションです。Lokalize を使用してください。

kdesdk?

本家ページ : http://i18n.kde.org/tools/kbabel/ …はもうリンク切れのようです…。

解説

ここではKBabelの最低限の設定と使用法について説明します。
Debianユーザの方は、こちらも参考にしてください。

KBabelとは

KBabelはKDEの翻訳チームが使用している翻訳補助ツールです。検索機能、使い勝手、UTF8エンコーディング、エラーチェック機能などの面において、強力な機能を持っています。KDEだけでなく他の翻訳プロジェクトの人にも有用なツールでしょう。

インストール

ここではKBabel-1.0.2(KDE3.1.xに含まれているもの)を対象として説明します。KBabelはkdesdkに含まれていますので、通常は、ディストリビュータで配布されているパッケージをインストールするのが良いでしょう。もし自分でコンパイルしてインストール場合には、libdb-4.xなどが必要になります。

コンパイル手順は以下の通りです。 ./configure --prefix=$KDEDIR make su make install

KBabelの設定

KBabel本体の設定

KBabelを立ち上げると魚のスプラッシュスクリーンの後にKBabelが立ち上がります。
初回立ち上げ時は、下の画像のような設定の入力を求めるダイアログが出て来ます。

around,画面1:設定の入力を求めるダイアログ]
画面1:設定の入力を求めるダイアログ

「OK」を押すと次の画面になります。

画面2:設定ダイアログ - 個人情報
画面2:KBabelの設定ダイアログ - 個人情報

ここには自分の名前とメールアドレスを入力して下さい。「ローカルな名前」もローマ字のままで問題ないでしょう。
そのほかの情報は上の画面を参考にして下さい。

個人情報の他の設定項目としては「編集」、「保存」、「スペルチェック」、「差異表示(Diff)」、「ソース」、「その他」があります。
そのうち「編集」、「スペルチェック」、「差異表示(Diff)」、「ソース」、「その他」に関しては特に変更する必要はないでしょう。


次に「保存」の設定です。ここでは、「一般」についての設定をします。
その他の「ヘッダ」と「著作権表示」については、変更する必要はないでしょう。

画面4:KBabelの設定ダイアログ - 保存(一般)
画面4:KBabelの設定ダイアログ - 保存(一般)

ここで重要なのはエンコーディングです。これは必ずUTF8にして下さい。KDE3.xではほとんどの文字を
内部でUTF8で扱っています。メッセージカタログもja.poは全てUTF8になっています。KBabelで
メッセージカタログを扱う分にはほとんど意識しないで済むので、ここは必ずUTF8にして下さい。


次に「検索」の設定を行います。

画面3:KBabelの設定ダイアログ - 検索
画面3:KBabelの設定ダイアログ - 検索

検索は、翻訳中にデータベース(3種類ありますがこれの設定は後で説明します)の中から検索してきて
操作画面の右下部に表示してくれるという機能です。「自動的に検索を開始」にチェックを入れておくと、
次のメッセージに移動したときに自動的に検索を開始して表示してくれます。

ちなみに3種類というのは以下の通りです。

相当遅いマシンならともかく、普通のマシンなら数分でインデックスを作成できるので
翻訳データベースを使用するのがよいでしょう。

設定については、辞書の設定のところで説明します。


以上で本体の設定は終了です。なおこれらはメニューバーの「設定」→「KBabelの設定」から再設定できます。


カタログマネージャの設定

まず、メニューバーの「ツール」→「カタログマネージャ」で、カタログマネージャを起動します。

すると、カタログマネージャの起動とともに、下のようなダイアログが出てきます。

画面5:カタログマネージャの設定を求めるダイアログ
画面5:カタログマネージャの設定を求めるダイアログ

「OK」を押し、カタログマネージャのメニューバーから「設定」→「カタログマネージャの設定」を選ぶと、次の画面になります。

画面6:カタログマネージャの設定ダイアログ
画面6:カタログマネージャの設定ダイアログ

まずテンプレートと日本語メッセージファイルをここからダウンロードします。
基本的に、最新のものを選んでくればOKです。
(ダウンロードするものは、「kde-i18n-ja」と「kde-i18n-templates」です。)

そして展開したディレクトリをそれぞれ上に指定します。
例えば/usr/local/extend/kde-i18nというディレクトリでこれらのファイルを
展開した場合は上の画面のようにします。

そして「OK」をクリックすると、指定したディレクトリが存在すれば下の画面のように、
翻訳の進捗状況の情報が生成されます。

画面7:カタログマネージャの進捗状況の生成画面
画面7:進捗状況の情報の生成画面


辞書の設定

続いては、辞書の設定です。
辞書の設定はメニューバーの「設定」→「辞書の設定」で行います。


・翻訳データベースの設定
「辞書の設定」から「翻訳データベース」を選択すると設定ダイアログが現れます。

t r > / t b o d y > / t a b l e > / d i v >
画面8:辞書 翻訳データベースの設定ダイアログ
画面8:辞書 翻訳データベースの設定ダイアログ
diff --git a/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3%2F%A5%B7%A5%B9%A5%C6%A5%E0%A5%EA%A5%BD%A1%BC%A5%B9%A4%D8%A4%CE%A5%A2%A5%A.php_KVP b/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3%2F%A5%B7%A5%B9%A5%C6%A5%E0%A5%EA%A5%BD%A1%BC%A5%B9%A4%D8%A4%CE%A5%A2%A5%A.php_KVP index b39e480..f840c6f 100644 --- a/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3%2F%A5%B7%A5%B9%A5%C6%A5%E0%A5%EA%A5%BD%A1%BC%A5%B9%A4%D8%A4%CE%A5%A2%A5%A.php_KVP +++ b/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3%2F%A5%B7%A5%B9%A5%C6%A5%E0%A5%EA%A5%BD%A1%BC%A5%B9%A4%D8%A4%CE%A5%A2%A5%A.php_KVP @@ -1,79 +1,79 @@

KDE 3.0 アーキテクチャ

オリジナル : http://developer.kde.org/documentation/library/kdeqt/kde3arch/resources.html


標準リソースディレクトリへのアクセス

KDEは、データが実際どこにあるのかということを気にしないで、アプリケーションがインストールしたファイルにアクセスするためのいくつかの方法を提供しています。
またKDEはユーザー(ほとんどの場合は管理者ですが)が適切と思う場所にファイルを移動するのを許可する為に、異なるサーチパスが割り当てられている異なるリソースタイプのリストを提供しています。

実行ファイルを探すためのPATH環境変数やman pageを探すためのMANPATH環境変数の事を訊いたことが有るでしょう。
でもmanにPATHの中でmanpageを探すようには期待しないでしょう。

この概念に似たような感じで、KDEは、特定のリソースのためにパスを加えることをシンプルにするために、サーチパスを区別しています。
これによって他のリソースを探して不必要に遅くなったり、すべてのものをひとつのディレクトリに入れる必要が無くなります。

KDEが提供しているリソースのタイプは、

KDEのための開発ツール(例えばKDevelop)によって作られたconfigureが生成したMakefileのaliasにもこれらすべてが存在しています。


KStandardDirs?

基本的なサービスを提供するので、このクラスはkdelibsの中でも最も中心的なクラスです。
このクラスはユーザーのハードディスクのどこにファイルが有るのかを分かっています。ユーザとアプリケーションの両者に対して出来る限り実際のファイルのありかをtransparentにするためです。

これによってアプリケーションからの全ての情報をカプセル化し、またアプリケーションは常にリソースタイプ(例:apps)やファイルネーム(例:Home.desktop)でファイルにアクセスします。
理想的なのは、アプリケーションが、ファイルがどこにあるのかを配慮せず、この能力を用いるために作業をKStandardDirs?::findResource("apps", "Home.desktop")に任せることです。

KStandartDir?の主要な考えは、ファイルの前につくプレフィックスはいくつかあるということです。

プレフィックスとは、例えばユーザーがkdelibsをインストールした場所であったり、アプリケーションがインストールされた場所であったり、$HOME/.kdeであったりします。実際にはもっとあるでしょう。
こういったプレフィックスの後には、特定のリソースタイプがみつかるであろうサフィックスがよく定義されます。 例えばツールバーアイコンならば share/toolbarやshare/apps/<appname>/picsでしょう。

だから、ファイルを探すためのアルゴリズムは基本的には指定されたサフィックスにプレフィックスをつなげて、ファイルがあるかどうかを調べるということです。
複雑な事を言うと、前述のステップを踏むことなくKStandardDir?が調べるための絶対パスも登録できます。
これはユーザーが例えば$HOME/.kde以外のディレクトリにアイコンを置く等、特定のディレクトリにファイルをおきたい場合に有功です。


On the usage of locate and locateLocal

locateとlocateLocalは、両方ともKStandartDir?を出来る限りシンプルに活用するために便利な機能です。
もちろんこれを使わずにKStandartDir?のパワーを充分に用いることもできます。

通常のKDEアプリケーションは次の3つの内、どれか1つの方法を用いてリソースファイルをしようします。

1 この場合、リソースファイルは読み込み専用です。
システムではデフォルトの設定を提供しますが、ユーザーは.kdeディレクトリでこのデフォルトを上書きできます。

    // Code example
     myFile = locate("appdata", "groups.lst")
     myData = myReadGroups(myFile);

2 この場合リソースファイルは読み込みも書き込みもできます。
ユーザーが指定しない場合、システムのデフォルトが用いられます。
この時、リソースファイルは常に.kdeディレクトリに書き込まれます。

  // Code example
   myFile = locate("appdata", "groups.lst")
   myData = myReadGroups(myFile);
   ...
   doSomething(myData);
   ...
   myFile = locateLocal("appdata", "groups.lst");
   myWriteGroups(myFile, myData);

3 上と同じですが、システムのデフォルトは使われません。

  // Code example
   myFile = locateLocal("appdata", "groups.lst");
   myData =  myReadGroups(myFile);
   ...
   doSomething(myData);
   ...
   myFile = locateLocal("appdata", "groups.lst");
   myWriteGroups(myFile, myData);
diff --git a/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3%2F%B3%AB%C8%AF%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF%2F%A5%E9%A5%A4%A.php b/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3%2F%B3%AB%C8%AF%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF%2F%A5%E9%A5%A4%A.php index 8741a40..884dbab 100644 --- a/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3%2F%B3%AB%C8%AF%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF%2F%A5%E9%A5%A4%A.php +++ b/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3%2F%B3%AB%C8%AF%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF%2F%A5%E9%A5%A4%A.php @@ -1,52 +1,52 @@

KDE 3.0 アーキテクチャ

オリジナル : http://techbase.kde.org/Development/Architecture/KDE3/Library_Structure

KDEライブラリ構造の概観

グループ化されたクラス

diff --git a/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3%2F%B3%AB%C8%AF%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF%2F%CA%A3%BB%A8%A.php b/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3%2F%B3%AB%C8%AF%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF%2F%CA%A3%BB%A8%A.php index 93b83cc..1995586 100644 --- a/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3%2F%B3%AB%C8%AF%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF%2F%CA%A3%BB%A8%A.php +++ b/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3%2F%B3%AB%C8%AF%A5%D5%A5%EC%A1%BC%A5%E0%A5%EF%A1%BC%A5%AF%2F%CA%A3%BB%A8%A.php @@ -1,47 +1,47 @@

KDE 3.0 アーキテクチャ

オリジナル : http://developer.kde.org/documentation/library/kdeqt/kde3arch/khtml/index.html *1

※古すぎるのであまり参考にはならないかと思われます。


KHTML - KDE's HTML library

概観

KHTMLはDOM,Java,JavaScript?,Cascading Style Sheets(CSS)に対応したXML/HTML4準拠のHTMLライブラリです。

現在のKHTMLができることについての概観をここで得られます。

Small example

KHTMLをプログラム中で使うのは非常に簡単です。
下の例はすでにwebブラウズが可能なアプリケーションを示しています。

#コード例が古かったのでコチラを見て下さい。

この例はすでにwebにアクセスできる機能的なブラウザを示しています。(リモートファイルにアクセスするためのkio_httpが必要ですが)
testkhtmlでhttp://kde.orgを試して見て下さい。ウィジットにはKDEのホームページが表示されるでしょう。

Document Object Model (DOM)

KHTMLはほとんど完璧なDom Level1, Level2の実装を提供しています。

DOMは文書のデータを保持するために使われる内部的なクラスです。
DOMにアクセスするクラスはデータ保持の為にrefcounting schemeを用います。
よってDOMはメモリ管理を行ないます。
使う方は、文書のパーツにアクセスするためには、DOM header fileに定義されているクラスを使用するだけでよいのです。
ポインタを使わない限り、メモリリークが起きることはないでしょう。(ライブラリのバグを覗いてはね。。。;-)

表示されている文書には KHTMLWidget::document() 関数を用いて文書のどの部分にでも簡単にアクセスできます。

Java

有難い事にRichard Mooreによって、KHTMLはJava appletを表示できるようになりました。
Javaは標準では有効になっていませんが、メソッドを使って有効にできます。
CLASSPATHは以下のように設定して下さい。

CLASSPATH=$KDEDIR/share/apps/kjava/kjava-classes.zip:$JDK_DIR/lib

JDKをインストールすることが必要です。JDK-1.1.7では試しましたが、Kaffeや他のバージョンのJDKで動くかはわかりません。

JavaScript? (ECMA-Script)

JavaScript?サポートはECMAScript Language specification ECMA-262 3rd edition準拠です。
これはJavaScript1.5相当です。

Cascading Style Sheets (CSS)

Cascading style sheets 2.1 はほとんどサポートされています。

Counter: 24, today: 1, yesterday: 0
diff --git a/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3.php b/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3.php index 1a15fec..0876c21 100644 --- a/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3.php +++ b/archives/KDE%203.0%20%A5%A2%A1%BC%A5%AD%A5%C6%A5%AF%A5%C1%A5%E3.php @@ -1,74 +1,74 @@

開発者向けドキュメント

オリジナル:KDE 3.0 architecture

開発フレームワーク

デスクトップフレームワーク

マルチメディアフレームワーク

コンポーネントアーキテクチャ

KOfficeアーキテクチャ

プロトコル

開発ツール

Development HOWTOs

Counter: 32, today: 1, yesterday: 0
diff --git a/archives/KDE%A4%CE%BB%C8%CD%D1%A4%B9%A4%EB%B4%C4%B6%AD%CA%D1%BF%F4.php b/archives/KDE%A4%CE%BB%C8%CD%D1%A4%B9%A4%EB%B4%C4%B6%AD%CA%D1%BF%F4.php index 2472b55..6038638 100644 --- a/archives/KDE%A4%CE%BB%C8%CD%D1%A4%B9%A4%EB%B4%C4%B6%AD%CA%D1%BF%F4.php +++ b/archives/KDE%A4%CE%BB%C8%CD%D1%A4%B9%A4%EB%B4%C4%B6%AD%CA%D1%BF%F4.php @@ -1,58 +1,58 @@

FrontPage

元ネタ : http://kde.ground.cz/tiki-index.php?page=Environment+Variables

KDEDIR
KDEDIR変数にはKDEのインストールツリーのルートを指定します。 KDEDIRS変数がセットされていない場合は必ず指定されていなければなりません。 これはKDEがアイコンやライブラリといったデータを探すのに使われます。
KDEDIRS
KDEDIR変数をオーバーライドして、KDEがデータを探す複数のディレクトリを指定することができます。 KDE本体とは違う場所にインストールしたプログラム等を利用したい場合に便利です。
KDEHOME
指定されない場合、パーソナルデータを保存するために~/.kdeディレクトリが使われます。
KDEROOTHOME
指定されない場合、管理者(root)のパーソナルデータを保存する為のディレクトリとして ~root/.kde が使われます。 これは "su" でルート権限になった後ユーザーがKDEプログラムを起動した時に、管理者権限でユーザーのデータを上書きしてしまうのを防ぐために導入されました。
KDEWM
指定したウィンドウマネージャがstartkdeスクリプトでkwinの替わりに用いられます。
KDE_LANG
KDEの言語設定を上書きします。 例えば、"KDE_LANG=ja kprogram &"とすると必要なファイル(kde-i18n-ja)がインストールされている場合に限りプログラムが日本語の翻訳ファイルを利用して起動します。
KDE_MULTIHEAD
"true"を指定すると、マルチヘッドシステムとしてKDEが起動します。
KDE_DEBUG
これを指定するとKDE crash handlerを無効にできます。(コマンドラインオプションで --nocrashhandler を指定するのに相当します。)
KDE_HOME_READONLY
ホームディレクトリ読み込み専用としてがマウントされます。
KDE_IS_PRELINKED(KDE 3.2)
KDEのバイナリやライブラリをprelinkした場合に指定します。
KDE_MALLOC
"1"を指定すると、KDEが --enable-fast-malloc を指定されている場合に限り kdecore で提供されている高速mallocルーチンが使われます。 そうでない場合はlibcのルーチンが使われます。
KDE_NOUNLOAD
KLibLoader?が動的にオープンされたライブラリをアンロードしないように指定できます。
KDE_DOUNLOAD
指定されている場合、KLibLoader?は常に動的にオープンされたライブラリを案ロードしようとします。 しかし、クラッシュする可能性が高いので気をつけて下さい。
KDE_UTF8_FILENAMES
指定されている場合、KDEはCロケールを無視してすべてのファイル名がUTF-8でエンコーディングされていると仮定します。
KDE_FULL_SESSION(KDE 3.2)
KDEが立ち上がる際に自動的に"true"にセットされます。 これは例えば、Konquerorがクローズされる時に、将来的に使われるメモリの残量を考慮すべきかどうかを知る為に使われます。 もしセットされていなければ、クローズされた後Konquerorは終了します。
KDESYCOCA
システム設定キャッシュファイルのパスや名前を指定します。
KDETMP
/tmpに加えてKDEが一時ファイルを保存するために使うパスを指定します。
Counter: 33, today: 1, yesterday: 0
- \ No newline at end of file + diff --git a/archives/KDE%B4%D8%CF%A2%A5%EA%A5%F3%A5%AF%BD%B8.php b/archives/KDE%B4%D8%CF%A2%A5%EA%A5%F3%A5%AF%BD%B8.php index 465fb2b..48a41d8 100644 --- a/archives/KDE%B4%D8%CF%A2%A5%EA%A5%F3%A5%AF%BD%B8.php +++ b/archives/KDE%B4%D8%CF%A2%A5%EA%A5%F3%A5%AF%BD%B8.php @@ -1,46 +1,46 @@

FrontPage

KDEに関連するURLを張りつけるページです。

Counter: 45, today: 1, yesterday: 0
- \ No newline at end of file + diff --git a/archives/KIO%A4%CE%B1%BF%CD%D1%CB%A1.php b/archives/KIO%A4%CE%B1%BF%CD%D1%CB%A1.php index d2855a1..1332917 100644 --- a/archives/KIO%A4%CE%B1%BF%CD%D1%CB%A1.php +++ b/archives/KIO%A4%CE%B1%BF%CD%D1%CB%A1.php @@ -1,47 +1,47 @@

kio

void startJob() {
     SomeJob* job = KIO::operation(url);
     QObject::connect(job, SIGNAL(result(KIO::Job *)),
                      this, SLOT(slotJobFinished(KIO::Job *)));
 }
 
 void slotJobFinished(KIO::Job *job) {
    if( job->error() ){
 	job->showErrorDialog();
 	return;
    }
 }

KIO::operationの箇所には自分の行いたい処理を記述します。API参照


Counter: 35, today: 1, yesterday: 0
diff --git a/archives/KIO_get_samples.php b/archives/KIO_get_samples.php index 767c35d..4e2f9d2 100644 --- a/archives/KIO_get_samples.php +++ b/archives/KIO_get_samples.php @@ -1,115 +1,115 @@

KIOの運用法

簡単にコードの解説を。

kiosample::kiosample()
    : KMainWindow( 0, "kiosample" )
 {
     // set the shell's ui resource file
     setXMLFile("kiosampleui.rc");
 
     setupGUI();
 
     isDownloading = false;
 }
 
 kiosample::~kiosample()
 {
 }

コンストラクタ、デストラクタです。 デストラクタで何の処理も行っていないのは、下でnewするオブジェクト(QBuffer* downloadDateは除く)はすべてQOBjectを継承したクラスで、親を持っているので終了時にQtの機能としていもづる式にdeleteするためです。 参照:Qt/KDEでのdeleteの挙動

void kiosample::setupGUI()
 {
    QVBox* mainVBox = new QVBox(this);
 
    QHBox* srcHBox = new QHBox(mainVBox);
    QLabel* srcLabel = new QLabel("Source URL", srcHBox);
    srcEdit = new KLineEdit(srcHBox);
 
    QHBox* targetHBox = new QHBox(mainVBox);
    QLabel* targetLabel = new QLabel("Target URL", targetHBox);
    targetEdit = new KURLRequester(targetHBox);
 
    startGetButton = new KPushButton("Start Getting!", mainVBox);
    QObject::connect(startGetButton, SIGNAL(clicked()),
                     this, SLOT(slotGetStart()) );
 
    setCentralWidget(mainVBox);
 }

このメソッドでは各種のGUI部品を作っています。 レイアウトに関しては、LabelとEditを横にならべ(QHBox)、そしてそれらを縦に並べる(QVBox)という構成になっています。 またボタンがクリックされるとslotGetStart?()を呼び出すようにSignal&Slotを設定します。

void kiosample::slotGetStart()
 {
    if (srcEdit->text().isEmpty() || targetEdit->url().isEmpty())
        return;
    if (isDownloading)
        return; //ダウンロード中
    kdDebug() << "kiosample : slotGetStart()" << endl;
 
    downloadData = new QBuffer;
    downloadData->open(IO_WriteOnly);
 
    /* ダウンロード開始 */
    KIO::TransferJob* job = KIO::get(KURL(srcEdit->text()), false, false);
    QObject::connect(job, SIGNAL(data(KIO::Job *, const QByteArray &)),
                     this, SLOT(slotData(KIO::Job *, const QByteArray &)));
    QObject::connect(job, SIGNAL(result(KIO::Job *)),
                     this, SLOT(slotJobFinished(KIO::Job *)));
 
    isDownloading = true;
 }

ここが肝心のKIO::getを呼び出しているところです。 まずAPIを参照してTransferJob?を作り、そのjobが発信するsignalと下で説明するslotを接続しています。 また、job->addMetaData?("UserAgent?", "kiosample")等とすることによってjobに付加情報も与えることができます。

void kiosample::slotData(KIO::Job *job, const QByteArray& data)
 {
    if(data.isEmpty())
        return;
 
    /*
     *データをバッファに一時保存
     *slotDataは複数回呼ばれる可能性が有ります
     */
    downloadData->writeBlock(data.data(), data.size());
 }

KIO::getが他のoperationと違う点は、データを受け取って来るという点です。 そしてそのデータを受け取っている部分がここです。 slotDataは先程jobのdataシグナルと結びつけました。 また、この部分は複数回呼ばれる可能性があるため、QBufferオブジェクトに一時的に受け取ったデータを書き込んでいます。

void kiosample::slotJobFinished(KIO::Job *job)
 {
    if( job->error() ){
 	job->showErrorDialog();
        isDownloading = false;
 	return;
    }
 
    //ファイルに書き込み
    QFile file(targetEdit->url());
    file.open(IO_WriteOnly);
    file.writeBlock(downloadData->buffer());
 
    //一時データを削除
    delete downloadData;
    downloadData = 0;
 
    isDownloading = false;
 
    KMessageBox::information(this, "Download Finished!");
 }

jobが処理を終了したというシグナルを発するとこのスロットが呼ばれます。(上で呼ばれるようにしました) まずはエラーが起きていないかどうかをチェックし、それから先程受け取ったデータをファイルに書き込みます。 また、一時データをnewしたことを忘れないで下さい。newしたものは必ずdeleteしなければいけません。QObjectの子クラス以外は。

Counter: 33, today: 1, yesterday: 0
diff --git a/archives/Kastle%202003%A1%A7Qt4%A4%CB%B2%BF%A4%F2%B4%FC%C2%D4%A4%B9%A4%EB%A4%AB.php b/archives/Kastle%202003%A1%A7Qt4%A4%CB%B2%BF%A4%F2%B4%FC%C2%D4%A4%B9%A4%EB%A4%AB.php index 0887f0f..ce7f2ee 100644 --- a/archives/Kastle%202003%A1%A7Qt4%A4%CB%B2%BF%A4%F2%B4%FC%C2%D4%A4%B9%A4%EB%A4%AB.php +++ b/archives/Kastle%202003%A1%A7Qt4%A4%CB%B2%BF%A4%F2%B4%FC%C2%D4%A4%B9%A4%EB%A4%AB.php @@ -1,63 +1,63 @@

元記事:"Kastle 2003: What to expect from Qt 4"

間違いを見つけたら、どんどん修正しちゃってください。
また、直接編集しにくい場合には、一番下のコメント投稿機能を利用してみてください。

翻訳

日曜日の午後、Qtの開発ディレクターであるMatthias Ettrich氏は、Nové Hradyで開催されたKDE Developers' Conference 2003において、企業(Trolltech)のプレゼンテーションとは別に、the KDE/FreeQt FoundationとQtの開発におけるのこれまでとQt4に対する展望について話をする機会を与えられた。Qt4は、2004年にリリースされる予定であり、スタートアップや実行時におけるパフォーマンスの向上、より高い柔軟性と生産性、そして、学習プロセスの簡素化のための変更などが提供されるはずです。Matthias氏の自作のプレゼンテーションプログラムを使って表示されたスライドショーからのより多くの引用を読んで下さい。


Qt4は、大概は、検索や置換や「互換モード」といったコンパイルスイッチをほとんど使うことなく、ソースコード互換性が維持されるように試みられています。より多くのポーティングは、メタオブジェクトシステムを直接使うようなスタイルとコードにとって必須でしょう。

シンボルの削減、データの読み書きを減らし、静的な初期化をより僅かにすることで、スタートアップのパフォーマンスの向上が達成されるでしょう。また、mallocの回数の低下、より速くそしてさらに最適化されたツールクラス、メモリ消費の減少によって実行時のパフォーマンスが向上し、今日のデスクトップコンピュータよりも遅く、少ないメモリしか積んでないような組み込みデバイス上でもQt4が動作することが可能になるでしょう。


これらの発言を確固としたものにするために、Matthias氏は、Qt4でコンパイルするために必要なだけの変更をし、ポーティングしたQtデザイナーについて、いくつかの数字を提供しました。その内容は次の通りです。libqtのサイズは5%減少し、Qtデザイナーのリロケーションの数は30%減少し、mallocの回数は51%減少し、メモリの使用量は15%減少しました。また、正確に計ったQtデザイナーの起動時間は、18%減少しました。


Qt4は、1つのライブラリにはならず、より細かい粒度を可能とするよう、複数のライブラリによって構成されるようになります。例えば、以下の通り。

Qt4の新機能で、現時点で公開されているものの一部としては、以下のものがあります。


軽くて安全で使いやすい値ベースのコンテナ・ツールのクラスの、一貫した新しいセットをQt4は提供するでしょう。また、このコンテナ・ツールのクラスは、明示的に分けられ、スピードとメモリの使い方双方の点で高度に最適化されているでしょう。これを使うことは、Qt3.xやSTLの場合と比較されるようなわずかなコードまで拡大されていくでしょう。STLは、よりQtと共に使える状態になっているでしょう。


QStringとQByteArray?は、APIの改善の他に、パフォーマンスとメモリ使用の点について最適化されています。(そのAPIの改善における)重要な変更は、isNull()が無くなり、互換モードでのみ用意されます。latin1()のような関数は、常に妥当な値を返し、nullポインタを返すことは無くなるでしょう。この変更は、KDE開発者の間での議論となり反感をかいましたが、Matthias氏は、isEmpty()関数と演算子"!()"が存在していることを指摘しました。


Qt4は、来年中に最終リリース前の短いパブリックベータの期間を経て、1年以内に利用できるでしょう。これに加えて、Matthias氏がKDE開発者に対して質問をしました。その内容は、「KDEはQt4に移行するのか? 移行するとすればいつか?」、「KDEが移行するとき誰がどこで最初のポーティングを行うのか?」、「KDEのアーキテクチャのいくつかを書き直す機会としても使いますか?」といったものでした。多くのKDE開発者からの返答としては、hackfest週間において、KDEに必要とされていて長期間見あたらないと分かっているような追加されたクラスや機能について、Trolltech開発者にたずねるというものでしょう。

Counter: 44, today: 1, yesterday: 0

直接編集しにくい場合には、こちらからコメントを投稿してください。

お名前
サマリ 要旨を簡潔にお願いします。
コメント

コメントのリスト

投稿者サマリ投稿日
Daisuke Kamedaコメント投稿のテスト2003-08-31 (日) 16:11:53
diff --git a/archives/Konqueror.php b/archives/Konqueror.php index 44ced73..0734441 100644 --- a/archives/Konqueror.php +++ b/archives/Konqueror.php @@ -1,32 +1,32 @@

kdebase?

本家サイト : http://www.konqueror.org/

Konquerorの機能

ファイルマネージャとしてもブラウザとしても動作します。

起動時間

silent機能を持っており、常にバックグラウンドで待機させることができます。これによって起動時間が格段に速くなります。

また待機させる数はKControlで設定することができます。(もちろん切ることもできます)

Web ショートカット

こちら

Tips

diff --git a/archives/Konstruct-JP.php b/archives/Konstruct-JP.php index 03ce6cf..fc86d4c 100644 --- a/archives/Konstruct-JP.php +++ b/archives/Konstruct-JP.php @@ -1,46 +1,46 @@

Konstruct

Konstruct-JPはKonstructに日本語パッチを付属して配布するものです。

現在、KDE/Qt関連のパッチが非常に散乱した状態に有る上、パッチを当ててまで問題を直そうとするユーザーは少ないと思われます。
そこでインストールする段階から組込んでおけば有る程度はパッチを作った人達の努力も報われるのではと思った次第です。 御意見やこのパッチも加えたらいいんじゃねえの等有りましたら是非寄せて頂きたいと思います。

対象パッケージパッチ名内容

今(3.2.1リリース)は特に当てるべきパッチが存在しません。 もし有りましたらコメント下さい。


パッチの加え方

3つの作業をするだけです。

  1. packagedir/filesにパッチを追加
  2. packagedir/checksumsを更新
  3. packagedir/Makefileにパッチを追加

また、パッチは↓の様に、 work/packagename-versinon/path/to/file という様に編集する必要が有ります。

 --- work/kdelibs-3.2.0/khtml/rendering/bidi.cpp 2004-02-05 13:44:14.000000000 +0900
 +++ tmp/kdelibs-3.2.0.new/khtml/rendering/bidi.cpp      2004-02-05 13:48:49.000000000 +0900

Counter: 34, today: 1, yesterday: 0
diff --git a/archives/Konstruct.php b/archives/Konstruct.php index 2d31b05..60438cb 100644 --- a/archives/Konstruct.php +++ b/archives/Konstruct.php @@ -1,108 +1,108 @@

アプリケーションの紹介 インストール方法

  1. 本家サイト : http://developer.kde.org/build/Konstruct

KonstructはGARを用いたKDEのビルド補助ツールです。

cd meta/kde;make installというコマンドだけでKDE全体をインストールできます。

現在のversionは次の通りです。

stable版3.3.2

概要

  1. Konstructをダウンロード
  2. READMEの設定の項を見ながら gar.conf.mk を設定します(↓の訳を参考にして下さい)。
    1. 特にQtの項目は注意しましょう。時間が大幅に短縮されます。
  3. kde/category.mk, apps/category.mkを編集します。
    1. MASTER_SITES += ftp://ftp.kde.gr.jp/pub/kde/stable/3.2.3/src を追加。
    2. ビルド時の最適化を参考にOWN_CFLAGSを編集し、LD_FLAGSを追加。
    3. 以下のコマンドを実行。*1
      cd meta/kde;make install
       cd i18n/kde-i18n-ja;make install
  4. $KDEDIR, $QTDIR, $PATH, $LD_LIBRARY_PATHを設定
    export KDEDIR=~/kde$version
     export QTDIR=~/kde$version
     export LD_LIBRARY_PATH=~/kde$version/lib
     export PATH=~/kde$version/bin:$PATH

make installを実行するとringサーバーや他の場所からtar玉、そしてpatchのダウンロードが始まり、自動的にビルドが始まります。

他に入れたい物があればディレクトリを探索しましょう。一番下にも一部のせています。 以上。楽でしょう?

READMEの訳

(注)kde$versionとなっている所はkde3.1等と任意に解釈して下さい。

"Konstruct"はKDEとその関連アプリケーションのインストールを補助するビルドシステムです。

ソースのtarballをダウンロードし、状態をチェックし、解凍し、パッチをあて、configureを実行し、ビルドを行ない、そしてインストールします。

KDEを完全にインストールするには、"cd meta/kde;make install"とするだけという簡単さです。

オプションとしてKOffice?KDevelopそしてQuanta?といったソフトウェアも例えばkofficeの場合"cd apps/koffice; make install"と打つだけでインストールすることができます。

デフォルトではKonstcurtは"~/kde$version"ディレクトリにソフトウェアをインストールします。

これは、インストールするのにルート権限が必要なく、システムを汚すことも無く、Konstructを用いてインストールされたKDEは他のKDEには影響しないということです。

↓のテーブルは何MBのtarballがダウンロードされるかを示しています:

  Directory/Target  |   Size  | Description
  -------------------+---------+---------------------------------------------
   kde/kdebase       |   40MB  | ブラウザ、エディタ、ターミナル等
   meta/kmail-crypto |   48MB  | [[kdenetwork]]とcryptoライブラリ
   meta/kde          |  105MB  | "KDE $version"に属する全てのパッケージ
   meta/everything   |  177MB  | 本体に加えたすべてのアプリケーション。↓の表を見て下さい。

↓のテーブルはmeta/everythingに含まれない物を示しています。

  Directory/Target       | Reason
  ------------------------+---------------------------------------------------
   apps-unstable/         | Development versions, conflicting with apps/
   i18n/                  | Nobody needs everything, just pick your language
   kde/kdebindings        | Only needed for developing with non-C++ language

すでにQT3.1をインストールしている場合は、環境変数 HAVE_QT_3_1_INSTALLED("設定"を見て下さい)を設定してください。上記の表からダウンロードすべきMBが12MBずつ引かれます。(falseではなくコメントアウトして下さい。)

母国語にローカライズされたKDEをインストールしたいなら、i18n/ディレクトリを覗き、母国語のディレクトリに入って"make install"としてください。KOfficeをローカライズするには、"i18n/koffice-i18n-<language-code>"パッケージをインストールしてください。

"Konstruct"はStephan Binner(binner@kde.org)によってメンテナンスされています。 またNick Moffitt(http://www.lnx-bbc.org/garchitecture.html)によるGAR portsシステムに依っており、Jeff WaughによるGARNOME(http://www.gnome.org/~jdub/garnome/)に刺激を受けて開発されました。

準備

GNU tool(gcc, GNU make, flex, BSD yacc, gettext, patch etc.)とgzip and bzip2, md5sum, patch, wgetが必要です。

他の基本的なライブラリや、追加機能を可能にするライブラリは"Konstruct"には含まれていません。

http://www.kde.org/info/requirements/3.1.htmlに示されています。 "-dev"や"-devel"に含まれるヘッダファイルをインストールしなければならないことに注意して下さい。

設定

好きなように gar.conf.mk を変更してください。便利なオプションは、:

 GARCHIVEDIR すでにソースファイルをダウンロードしている場合はそのディレクトリを指定して下さい。
  prefix      どこにKDEをインストールするか。デフォルトでは"~/kde$VERSION/"です。
  OWN_CFLAGS  コンパイラフラグを設定します。
  HAVE_QT_3_1_INSTALLED  (moc, uic, headerを含む)Qt3.1をインストールしているかどうかを
                         設定します。Qtのインストールを省くことができます。
  BUILD_CLEAN ディスクの空き容量が少ない場合はセットして下さい。

使い方

まずインターネットに接続できることが必要です。

次にビルドしたいターゲットを選び、それが定義されたディレクトリに移動して下さい。(例えば kdebase? なら "cd kde/kdebase")

そして次に紹介するコマンドを入力して下さい。通常は"make install"と入力すればよいです。

それぞれのパッケージにGARシステムは7つのMakeターゲットを提供しています。

commanddescription
fetchパッケージをコンパイルするのに必要なすべてのファイルとパッチをダウンロードします。通常はtarball一つだけですが、たまにパッチが伴うことがあります。
checksummd5sumを使用してダウンロードしたファイルがメンテナーのものと適合するかどうかを確かめます。
extract必要なすべてのソースファイルが作業ディレクトリにあるかどうかを確かめます。
patchパッチ(3rdパーティーのパッチもしくはメンテナーのパッチ)を当てる必要がある場合はパッチを当てます。
configureパッケージをconfigureします。一般的にはautoconfやImake等を実行します。
build通常のコンパイル過程を行います。
install適切な場所にファイルを配置し、必要なすべての処理を仕上げます。

インストール後

インストール後はKDEのバイナリとライブラリをシステムに探させるためにいくつかの変数を設定します。Bashの例:

 export QTDIR=~/kde$version
  export KDEDIRS=~/kde$version
  export LD_LIBRARY_PATH=~/kde$version/lib
  export PATH=~/kde$version/bin:$PATH

KDEHOMEも設定してください。例えば"export KDEHOME=~/.kdetest"とすると設定をこのディレクトリに保存するようになるので、デフォルトの~/.kdeディレクトリには影響を及ぼしません。

KDEをスタートするには"startkde"を実行します。ほとんどのディストリビューションではこれをWINDOWMANAGER変数にセットするとKDEがスタートします。

最新のKonstructを入手するには r . j p / p u k i w i k i / i n d e x . p h p ? K o n s t r u c t # p f 3 d 1 5 7 e " t i t l e = " p f 3 d 1 5 7 e " > &d a g g e r ; / a > / h 3 >

diff --git a/archives/Kplayer.php b/archives/Kplayer.php index df7fdaa..c165b93 100644 --- a/archives/Kplayer.php +++ b/archives/Kplayer.php @@ -1,29 +1,29 @@

KDE 用のマルチメディアプレーヤー。

mplayer を利用しているため、以下のようなフォーマットを再生できる。

(まだまだある…)

当然、このアプリを利用するには mplayer のインストールが必要。

他の KDE 用のマルティメディアプレーヤーには kdemultimedia に標準で入っている noatun、mplayer に加え xine を利用する kmplayer などがある(kmplayer の利用には xine やmplayer に加え kdemultimedia のインストールが必要)。

kplayer ホームページ:http://kplayer.sourceforge.net/
mplayer ホームページ:http://www.MPlayerHQ.hu/homepage/

注意 ~

MPEG 等には特許の問題があるので、そのあたりは自己責任で…

Counter: 49, today: 1, yesterday: 0
diff --git a/archives/Lokalize.php b/archives/Lokalize.php index 7b65be7..96ac056 100644 --- a/archives/Lokalize.php +++ b/archives/Lokalize.php @@ -1,49 +1,49 @@

Lokalize ホームページ : http://userbase.kde.org/Lokalize

日本語翻訳の方法 TranslationAssignments

ここではLokalizeの最低限の設定と使用法について説明します。

Lokalizeとは

LokalizeはKDEの翻訳チームが使用しているKDE4向け(KDE3ではKBabelというツールを使用していました)の翻訳補助ツールです。翻訳メモリ(Translation Memory)による類似翻訳検索、編集の面において、強力な機能を持っています。翻訳メモリは共通フォーマットを使用しているため、PO/POTやXLIFFを使用している他の翻訳プロジェクトの人にも有用なツールでしょう。

インストールと設定

Lokalizeの設定(必須設定)

"設定"→"Lokalizeを設定..."にて設定ダイアログを開きます。 翻訳者と言語の情報を以下のように入力して下さい。(MLはKdeveloper宛にして下さい)

画面1:Lokalizeの設定画面
画面1:Lokalizeの設定画面

翻訳メモリ(TM)の設定(推奨設定)

"作成"で新たなTMを作成します。ここでのディレクトリはダウンロードした"trunk/l10n-support/ja/messages"の"messages"があるフォルダを指定します。

画面2:翻訳メモリ設定画面
画面2:翻訳メモリ

プロジェクトの設定(オプション設定)

ここでもルートフォルダとしてダウンロードした"trunk/l10n-support/ja/messages"の"messages"があるフォルダを指定します。

画面3:プロジェクトの設定画面
画面3:プロジェクトの設定画面

このようにプロジェクトの設定を行った場合、以下のようにリアルタイムの翻訳状況が確認できるようになります。

画面4:プロジェクトの概要表示
画面4:プロジェクトの概要表示

使用法

画面5:Lokalizeのメイン画面
画面5:Lokalizeのメイン画面

よく使うショートカット

以下のショートカットを覚えていくと作業がはかどります。

diff --git a/archives/NetAccess%A4%CE%B1%BF%CD%D1%CB%A1.php b/archives/NetAccess%A4%CE%B1%BF%CD%D1%CB%A1.php index fdcf718..0275399 100644 --- a/archives/NetAccess%A4%CE%B1%BF%CD%D1%CB%A1.php +++ b/archives/NetAccess%A4%CE%B1%BF%CD%D1%CB%A1.php @@ -1,21 +1,21 @@

kio

NetAccess?はKIOを簡単に使うためのインターフェースクラスです。 これを使う事によって一連のネットワーク処理を行う事ができます。 ただし、NetAccess?は同期的です。つまり、ネットワーク処理が終わるまで次の処理が行われません。この点は注意して下さい。

NetAccess?のリファレンス : http://developer.kde.org/documentation/library/cvs-api/kio/html/classKIO_1_1NetAccess.html

Counter: 14, today: 1, yesterday: 0
diff --git a/archives/faq_for_kde_developers.php b/archives/faq_for_kde_developers.php index cf56ea8..dc279da 100644 --- a/archives/faq_for_kde_developers.php +++ b/archives/faq_for_kde_developers.php @@ -1,90 +1,90 @@

KDE developer のための FAQ

これは http://techbase.kde.org/Development/FAQs を訳したものです。かなり昔に訳されたものなので、最新版と同期がとれていない可能性があります。内容は近々本家 Wiki にコミットされ、このページ自体は削除される予定です。

一般的な質問

新しいアプリケーションを書き始めたいのですが、何かアドバイスはありますか?

新たに書かなければいけない KDE アプリケーションがたくさんあるのは間違いありません。しかし、 あなたの助けを必要とする既存の KDE アプリケーションがたくさんあるのも確かです。

どの分野に助けが必要か知るには、このページをチェックしてください。

新しいアプリケーションを書き始める前に、apps.kde.comkde-devel@kde.org のメーリングリストで、誰かが似たようなプロジェクトをしていないかどうか確かるのは良いことです。

私は開発者です。どうすれば KDE に貢献できますか?

job list でオープンな仕事をチェックして下さい。あなたができる仕事は必ず1つはあるでしょう。

KOffice や Kdevelop などは高く評価されているにもかかわらず、開発者がとても少ないです。ですからそのあたりをチェックすると良いかも知れません。KDE のプロジェクトを手助けするのに、KDE のコアの開発者になる必要はりません。KDE は非常にうまくモジュール化されているので、全体のシステムがどうなっているか知らなくても、1つの分野を改良することができます。

また、kde-devel メーリングリストで、誰かがアプリケーション上での手助けを必要としているか質問することができます。

最新の KDE を使い必要とされていることを見付けて下さい。テーマジェネレータですか?konsole のスキーマエディタですか?ゲームの改良ですか?いつも小さな特徴が抜けているものです。実装してしまいましょう。

特定の分野に関してくわしかったり、興味があったりしますか?あなたの手助けが役に立つその分野に関連するアプリケーションがないかチェックして下さい。もしくはそのようなアプリを書いて下さい。KDE はおたく向けではないアプリケーションをもっと必要としています。

私は開発者ではありません。どうすればお手伝いできますか?

開発者のスキルを必要としない仕事がたくさんあります。KDE の促進のためにアプリケーションのレビューを書いたり(kde-promo メーリングリストを見て下さい)、ドキュメントチームを手伝ったり(i18n.kde.org/doc を見て下さい)、翻訳を手伝ったり(i18n.kde.orgを見て下さい)、新しく出てくるバグをフィルタリングするのを手伝って下さい(bugs.kde.org を見て下さい)。

Konqui dragon の画像はどこで手に入れることができますか?

ftp://ftp.kde.org/pub/kde/devel/konqi_sdk.tar.bz2 で入手可能です。

KDE に貢献するのに必要なスキルのレベルはどの程度ですか?何を学んでおくべきですか?何を読んでおくべきですか?

diff --git a/archives/kde3arch-iconloader.php b/archives/kde3arch-iconloader.php index 821c3ed..9df84e4 100644 --- a/archives/kde3arch-iconloader.php +++ b/archives/kde3arch-iconloader.php @@ -1,89 +1,89 @@

KDE 3.0 アーキテクチャ

オリジナル : http://developer.kde.org/documentation/library/kdeqt/kde3arch/iconloader.html


Loading and installing icons in KDE

1. 初めに

アイコンはどのデスクトップ環境においても重要なユーザーインターフェースの一部です。
ユーザーの設定やビデオハードウェアが原因で、同じアイコンでも、異なったサイズや色深度で表示されます。
これを制御するために、アイコンを保存し、またアクセスする為の標準的な方法が開発されています。

2. Loading icons

アイコンローダーへのアクセス

アイコンはKIconLoader?クラスを用いてロードされます。
どのKDEアプリケーションもグローバルアイコンローダを所持しています。
このオブジェクトには下の様な方法でアクセスできます。

#include <kglobal.h>
 #include <kiconloader.h>
 
 KIconLoader *loader = KGlobal::iconLoader();

loadIconを使ってアイコンをロード

アイコンローダはアイコンをロードし、キャッシュを作り、エフェクトを加えます。 アイコンをロードするには、loadIconメソッドを使います。このように定義されています。

QPixmap loadIcon(QString name, int group, int size=0,
                 int state=KIcon::DefaultState, QString *path_store=0L,
                 bool canReturnNull=false);

上のように、多くの引数を取ります。最初の二つは最も重要です。

nameロードするアイコンの名前。拡張子なしにiconの名前を指定しなければなりません。
groupアイコングループ。下で説明します.

アイコングループ

アイコングル‐プという考え方はKDEのアイコンの仕組みのなかで重要な概念です。
アイコングループはそのアイコンがスクリーン上のどこで使用されるかを現しています。
KDEユーザーはアイコンのサイズと視覚効果を設定できるので、これは関連性があります。
アイコングループをアイコンローダーに渡すということは、実際にはどのアイコンの実体をロードするのかをローダーに指定するということになります。
グループの引数を取ることによって、アイコンローダーはKDEデスクトップ全体のアイコンの一貫した、そして設定可能な見映えを可能にします。

例 : ユーザーは32ピクセルのアイコンをメインツールバーに設定できます。

利用できるアイコングループは下の通りです。これら全てはKIconクラスで宣言されています。
なので実際にはこれらの前にKIcon::をつけて使用します。

Desktopデスクトップ上のアイコン。ファイルマネージャーやそれに似た場所で使用されます。
Toolbar通常のツールバー用
MainToolbar?メインツールバー用のアイコン。アプリケーションはいくつかのツールバーを持ちますが、これはメインツールバー用です。通常は外のツールバーよりも大きなアイコンを持ちます。
Small例えばポップアップメニューやリストビュー、ツリーリストで用いられるような様々な小アイコン
Userアプリケーション特化のアイコンをロードするためのグループ。これについてはsection3を見て下さい。

Desktopグループで"kfind"アイコンをロードするには以下のようにします。

QPixmap icon;
 icon = loader->loadIcon("kfind", KIcon::Desktop);

外のパラメータも見てみましょう。

size特定のアイコングループに設定されたサイズを上書きします。影響はそのグループのアイコン全体に及びます。
stateアイコンの状態を示します。stateはKIcon::DefaultState?、KIcon::ActiveState?、KIcon::DisableState?のうちのどれかです。例えばツールバーのボタンは、マウスが上に有るときはactiveに、有効でない時はdisableに、それ以外のときはdefaultになっています。それぞれの状態は視覚的にも変ります。
path_storeアイコンがどこからロードされたか知りたければ、ここにQStringのポインタを渡すとアイコンのパスが保管されます。
canReturnNull?アイコンが見付からなかった場合、結果はこのパラメータに依存します。canReturnNULLがtrueなら、null pixmapが返されます。そうでなければ"unknown"アイコンが返されます。

3.アイコンのインストール

アイコンは様々なサイズや色深度になります。これをテーマアイコンと呼ぶことにします。
決まった形で表示されるものをテーマ化されていないアイコンと呼ぶことにします。

デフォルトアイコンサイズ

標準のアイコンのサイズは以下の通りです。

40 Colors: 16x16 pixels 22x22 pixels 32x32 pixels

Truecolor: 22x22 pixels 32x32 pixels 48x48 pixels

それぞれのサイズのアイコンサイズはアイコングループに設定できることを覚えて置いてください。

アイコンコンテクスト

テーマアイコンはディレクトリに階層的に保存されます。それは1.色深度、2.サイズ、3.コンテキストによります。
コンテキストというのはKDEアイコン機構で導入された新しい概念です。
アイコンが意味しているものがコンテキストです。標準のコンテキストには次のようなものがあります。

action例えば"Open"や"Save"といったツールバー内のアクションを示します
application"kfind"のようなアプリケーションを示します
device"floppy"や"mount"といったデバイスに関係の有るものを示します
filesystem"directory"や"socket"、"trashcan"といったファイルシステムに関連するものを示します
mimetype"text/html"のようなmimetypeを表します

コンテキストはアイコンを選ぶ際に非常に重要となります。
アプリケーションがユーザーにアイコンを選んでもらう時、例えばツールバーなら、KDEにインストールされたすべてのアイコンを表示するのはユーザーフレンドリーではありません。
-対照的に、ユーザーの為にに"action"アイコンだけを表示するのは非常に良いことです。

\ No newline at end of file +対照的に、ユーザーの為にに"action"アイコンだけを表示するのは非常に良いことです。