Thursday Jun 12, 2008

Ubuntu 8.04 で NetBeans を GTK L&F にするには

Ubuntu 8.04 で OpenJDK (openjdk-6-jdk) を使って NetBeans を起動した場合は以下のような画面になるはずです。



これは Metal ですね。フォントもデスクトップのものとは違っています。NetBeans は 6.0 から Java6 の u1 以降では Linux や Solaris では自動的に GTK のルック&フィールで起動しますが、openjdk-6-jdk は 1.6.0 なので Metal です。
openjdk-6-jdk ではなく sun-java6-jdk を使って起動してみます。JDK の切り替えはインストール時に JDK を指定しても構いませんし、インストール後であれば --jdkhome オプションで切り替えます。
% netbeans --jdkhome /usr/lib/jvm/java-6-sun



このように GNOME デスクトップと同じルック&フィールに自動的になります。openjdk-6-jdk で GTK のルック&フィールを使いたい場合には --laf オプションで切り替えられます。
% netbeans --laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel
逆に sun-java6-jdk を使っているのだけど Metal のほうがいいという方は次のようにして起動してみてください。
% netbeans --laf javax.swing.plaf.metal.MetalLookAndFeel 
コマンド行から指定するのがいちいち面倒な場合は起動時オプションを NetBeans をインストールしたディレクトリの etc/netbeans.conf に記述しておくことができます。詳しくは以下の FAQ をご覧ください。 どの JDK を使っているかがわからなくなったら「ヘルプ」>「製品について」を選んでください。NetBeans のバージョン、JDK のバージョンなどがわかります。メーリングリストなどで不具合などを報告していただく場合はこれらの情報が役に立ちますのでよろしくお願いします。

Thursday Mar 08, 2007

NetBeans 6.0 の新機能 (2): GTK ネイティブルック&フィール

新機能2つめは GTK のネイティブルック&フィールです。NetBeans 5.5 までは Solaris や Linux では Swing の Metal がデフォルトのテーマでしたが 6.0 M7 からは以下の条件を満たす場合に GTK ルック&フィールがデフォルトで選択され使えるようになります。New and Noteworthy in NetBeans 6.0 Milestone 7 に書いてる言葉をそのままつかうと、
  • Solaris または Linux で GNOME のウィンドウマネージャー
  • JDK バージョン 1.6.0_01 (update 1) 以上
です。つまり普通に JDK 1.6.0 を使っていたのでは有効にはならないんですね。

Solaris Nevada ビルド 55 では次のようになります。しかしNimbus はかっこいいですよね。



あ、そうそう、このスクリーンショットを撮るときにウィンドウの幅を狭くしたんですがツールバーが2段になってますよね。最初はツールバーは1列だったのがウィンドウのサイズに合わせて自動的に2列になりました。メモリと Profiler のアイコンが2列目に来てますよね。これ 5.5 まではこうにならなかったんですけど、これも 6.0 の新機能でしょうか??う〜んどこの機能だろう、今まで入った機能をざっと見てもわかりませんでした。しかしこれ広げても元に戻らないのはおそらくバグでしょうか…

Monday May 01, 2006

NetBeans GTK LF が Solaris 10 + Mustang で動かず…

Mustang で NetBeans IDE + GTK ルックアンドフィールを使う方法は

% netbeans --laf com.sun.java.swing.plaf.gtk.GTKLookAndFeel -J-Dawt.useSystemAAFontSettings=on

書きましたFedora Core 5 では綺麗に動きました。が、残念ながら Solaris 10 では動きませんでした。 他のアプリケーションを GTK ルックアンドフィールで動かしたときは問題ないのですが、 NetBeans でGTK ルックアンドフィールを指定するとおかしくなってしまいます。

以前 神谷さん に「Solaris で動きませんよ~」って言ったら親切にバグ登録してくださったのですがまだ(他のバグで)直っていないみたいですね。


この時点では起動すらしなかったのですが、今は起動はするようになりました。ただ、

Fontconfig error: Cannot load default config file

というエラーが出てフォントを GTK から取ってこれないのか GTK で使っているフォントとは同じフォントになりません。バグレポートにも書いてあるのですがどうやら fontconfig 側の問題らしくて OpenSolaris 側でバグレポートを見ることができます。


バグレポートにはこんなことが書いてありますね…むむむ…

netbeans 5 seems to have open > 500 jar files (wow!).

すでに Nevada ビルド34 では直っているらしいのですが Solaris 10 ではどうやったらいいのでしょう。

SPARC なら 64 ビットの VM を使えばよいみたいです。x86 では?どなたか知りませんか?パッチも調べたのですが見つけられませんでした。私の素人考えで思いつくのは… fontconfig を自分でビルドしてかな~ということで fontconfig-2.3.95 のソースを持ってきてビルドして LD_LIBRARY_PATH を指定したら…あっさり綺麗に動きましたが…うむ~あまりいい方法ではありませんよね…


スクリーンショットはイケナイ方法で無理やり動かしたものです

Monday Mar 20, 2006

Long-awaited bugfix for IME integrated into Mozilla GTK2!!

先週入力関係のとても価値のあるバグ修正が Mozilla trunk の GTK2 ウィジェットに入りましたので紹介しておきます。

みなさん MozillaFirefoxThunderbird で日本語入力をしていて不便だな~と感じるところはありませんか?おそらく一番不便な点はパスワードフィールドで日本語がオンのままになってしまうことではないかと思います。日本語入力をしていてそのままパスワードフィールドでパスワードを入力しようとすると下のスクリーンショットのようになにやら赤いアンダーラインが引かれた \*\*\* という文字が入力されてしまいます。アスキー文字だけ入れようと思っていても実際にはここは変換途中の日本語が入力されていることになります。「おっと、いけない、ここは日本語オフしなくちゃ」と日本語オフにしてまた入力し始めるのですよね。Mozilla の最初からこの問題はありますのでもう慣れてしまったユーザーも多いと思います。


日本語オンでついついパスワードを入力し始めてしまう…

このバグはとても古いバグで、Bugzilla の

Bugzilla 13828: IME should be disabled at the PASSWORD field (パスワードフィールドでは IME を無効にするべき)

で、登録されたのが 1999 年の 9 月です。Mozilla の入力関係をの仕事をしているとき、2000年に1度修正にチャレンジしてパッチまで出したのですがそのままでした。Windows では修正されたのですが、今回 GTK2 ベースで Mozilla.japan の中野さんという方が見事修正してくれました!!(これホントにすごいです、パチパチパチ!!) 私は今はほとんど Mozilla の仕事はしていないのですが、今回は主に Solaris でのテストとコードレビューでお手伝いすることができました。「最近わけあって SeaMonkey を自分でビルドして使っている…」と書 いたのは実はこの作業をしていました。

Bugzilla 321468: [GTK2] Implement nsIKBStateControl Interface (event of accesskeys and shortcut keys are eaten by IME)

日本の Mozilla のコミュニティ、もじら組では日本語が使えるバグデータベース Bugzilla を独自にたてていて、しばらくはそこで議論をしていました。どのように修正したかはこちらを見るとわかりやすいと思います。

Bugzilla-jp 4575: [GTK2] IME APIの実装 #1

Solaris では GTK2 を使っていますから Solaris ユーザーにはまさに朗報です。以下のようにパスワードフィールドにフォーカスがある場合には日本語オフになります。


日本語オンの状態からタブキーやマウスクリックでパスワードフィールドにフォーカスを移動すると…



ちゃんと日本語オフになります

UNIX/Linux での入力関係の問題はディストリビューションや、IME の種類が多く、また実装依存なところが多いため非常にやっかいです。開発者やボランティアで試験を手伝ってくれる人の環境も限られてしまいます。今回の修正もひょっとすると正しく動かない環境や IME が出てくるかもしれません。是非多くの方、特に入力関係に興味のある方には使っていただいてバグ出しに協力していただきたいと思います。Nightly build は Mozilla.org からダウンロード可能です。


ただ残念ながら Solaris 用のバイナリはありませんので…何か次の正式リリースが出るまでは自分でビルドしちゃいましょう!! (Mozilla 関係のリリースは私は追ってませんので次に何が出るかはちょっとわかりません)
About

NetBeans Globalization

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today