2021-01-18 9:00 JST 〜 メンテナンスによるサービス全停止予定

Nine のカスタマイズ

現在用意されている設定ファイルは、インストールディレクトリ直下にある site-js フォルダに入っています。 設定値を変更することで、nine の動作や外観をある程度カスタマイズすることができます。

カスタマイズは、ホームディレクトリに .nine.js ファイル(あるいは dot_nine.js ファイル)を作成して、そこに上書きするかたちで行っていただくこともできます。

ここで説明するのは、設定ファイルの中でもメインとなる site-js/site-nine.js ファイルに記述されている設定についてです。

なお、nine の設定ファイルは JavaScript の文法で記述します。

globalSetKey 関数

キーバインドの設定を行う関数です。 引数は 2 つで、1 つめにキーバインドを書き、それに関連づけるアクション名を 2 つめに書きます。 アクション名は、ほぼ Emacs の関数名と同様です。

現状、記号文字などはあまり機能しません。ファンクションキーも使えません。 また、"\\C" はコントロールキー、"\\M" はメタキーを意味します。 "DEL" はバックスペースキーを意味します。

setForegroundColor 関数

前景色(文字の色)を設定します。

色の指定は、文字列で行います。先頭に # をつけて 16 進数で表記するか(0x は不可)、あるいは色名を指定してください。 色名には HTML Color Name と JIS 慣用色名(和名のみ。ローマ字表記推奨)が使えます。現状、色名は大文字・小文字を区別します。

利用できる色名の一覧は、color-data.txt から参照していただけます。 なお、このファイルも GPLv2 で配布しています。コード生成の際のデータとして利用・改変・再配布等していただけます。

setBackgroundColor 関数

背景色を設定します。色の指定の仕方は、setForegroundColor 関数と同じです。

setFaceForeground 関数

第一引数で指定した箇所の前景色(文字の色)を設定します。色の指定の仕方は setForegroundColor 関数と同じです。

第一引数は、下記のような感じで指定できます。

  • "comment-face" はコメント
  • "string-face" は文字列
  • "keyword-face" はキーワード

setKeyboardLayout 関数

キーボードレイアウトを設定します。 現在のところ、設定できる値は us101jp106 だけです。

setAltKeySubstitution 関数

META キーの代わりに ALT キーを使うかどうかを設定します。 true と設定すれば、ALT キーが META キーに取って代わります(この場合、META キーのほうは押下しても機能しなくなります)。 逆に言うと、デフォルトでは ALT キーは META キーの代用にはなりません。

defaultFrameSetting 変数

defaultFrameSetting は辞書形式の変数です。 主に GUI の外観に関する設定情報をここに記述します。 主なキーの説明は次のとおりです。

defaultFrameSetting.font

フォントに関する設定を記述します。ここで設定されたフォントは、 バッファがエディタ形式の場合(nine には JTable を使った表形式のバッファもある)に適用されます。

name にはフォント名を記述し、size にはフォントサイズ、style にはフォントスタイル名(通常は "plain" と記述してください)を記述します。

antiAliasingtrue を設定するとアンチエイリアスがかかります。 もっとも厳密に言えば、これはフォントに限らず、バッファの内容自体にアンチエイリアスをかけるかどうか、という設定です。 現状、エディタ形式のバッファは文字データしか表示しませんから、フォントにアンチエイリアスをかけるかどうか設定しているのと結果的には同じことです。

defaultFrameSetting.modeLineLocation

モードラインをウィンドウの上部に配置するか下部に配置するかを設定します。 "top" あるいは "bottom" と指定します。

defaultFrameSetting.minibufferLocation

ミニバッファをフレームの上部に配置するか下部に配置するかを設定します。 "top" あるいは "bottom" と指定します。

defaultFrameSetting.visibleBell

警告音の代わりに画面を点滅させるかどうかを設定します。これは実装漏れ等があるかもしれず、現状では必ずしも正常に機能しない可能性があります。 画面を点滅させる場合は、true を設定します。

defaultFrameSetting.showLineNumber

バッファがテキストタイプの場合に、左側に行番号を表示するかどうかを設定します。行番号を表示させる場合は true を設定します。