LiteStep 0.24.8 リリースノート

LiteStep Development Team (translated by Takayuki Kawamoto)

Copyright © 2009 - LiteStep Development Team
GNU Free Documentation License, Version 1.2 or any later version.

Last modified: 2009-01-31
翻訳の最終更新日:

目次

訳註本文書では、訳註を *1, *2,... で表記します。*1, *2,... が冒頭についていない囲み文書は、元の文書の注釈であることに注意してください。
なお、元の文書は一行あたりの文字数を固定していますが、翻訳にあたっては全て固定せずに訳出しました。また、改行等、文書が意味している内容を変えない程度に文書を整形したり、()に言葉を補ったりしています。
更に、この文書には Windows プログラマ向けの用語が出てきますので、適宜ウィキペディアにリンクしてあります。

このリリースノートについて

LiteStep は Windows® の標準的なシェルであるエクスプローラを置き換える互換シェルの一つです。

エクスプローラ・シェルは Windows ユーザなら誰でも知っているデスクトップ環境というものを提供していて、スタートメニューやタスクバーはそのデスクトップ環境に含まれます。LiteStep の開発者たち(そして数多くのユーザたち)は、エクスプローラ・シェルが動きに乏しくて厄介なものであり、そう思わなくても使うに値しないと思っています。LiteStep が開発され使われているのはそれが理由です。

LiteStep は、あなたが有用だと思った(り、目を引いた)ものを、あらゆるやり方でエクスプローラ・シェルのデスクトップ環境と置き換えてしまいます。そして、あなたのデスクトップ・インターフェイスをユニークで、楽しく、また動きのあるものにします。LiteStep のユーザが創り出すデスクトップ環境は、全く何もないスクリーンにホットキーやホットスポットが提供する機能を最大限にもたせた状態から、見て楽しい可変メニューを使えるようにしたり、スライドするツールバーでシステムの状態や最新ニュースの見出しあるいは現在のお天気を、グラフィカルで便利に表示できたりします。
http://en.wikipedia.org/wiki/Operating_system_shell も参照のこと)*1

*1個人的には驚くべきことだと思うのだが、「シェル」に関する日本語のページはない。

ここで、LiteStep コミュニティのウェブサイトを紹介します。

http://www.lsdev.org/
LiteStep 開発チームのポータルサイト。公式リリースの LiteStep は全てここにあり、モジュール開発者向けの資料や各種連絡先も掲載されています。
http://www.litestep.net/
LiteStep 用として最大のテーマギャラリーをもつ、コミュニティサイト。スクリーンショットを掲載したり、テーマやモジュールも配布されています。それから LiteStep に関することなら何でも書き込めるユーザフォーラムがあります。
http://www.ls-universe.info/ *1.5
xModule シリーズのサイトで、他にもモジュールをダウンロードできます。コミュニティのニュースも扱っていて、テーマギャラリーも併設しています。

*1.5スクワッタに占拠されているため、リンクは外します。(後から追加した注釈なので、後続の注釈番号をズラすのが面倒だから 1.5 という付番にしました)

http://www.ls-themes.org/
モジュールをダウンロードできます。スクリーンショットやテーマを保管していたり、LiteStep IRC のログもあります。
http://www.shellfront.org/modules-list.html
モジュールをダウンロードできます。
http://www.litestep-france.net/
フランスのコミュニティサイトです。

冒頭に戻る

システム要件

LiteStep のシステム要件は、あなたが32ビット版の Windows(Windows 95, Windows 98, Windows 98 Second Edition, Windows Me, Windows 2000, Windows XP, Windows 2003)を使っているということだけです。

注意: Windows Vista/2008 の32ビット版は LiteStep 0.24.8 ではサポートして「いません」! Windows XP/Vista/2008/7 の32ビット版と64ビット版を両方ともサポートする実験版(experimental builds)を、私たちのサイトで確認してみてください。

LiteStep はエクスプローラ・シェルを置き換えることで、それよりも少ないリソースで動作するように設計されています。したがって上記の他にシステム上の動作要件はなく、Windows 上で動く普通のシステムに要求されている動作要件を超えるようなものは何もありません。

しかし、あなたが使うモジュール(アドオン)によっては、あなたのデスクトップ環境を使うために必要な動作要件は違ってくるでしょう。Windows 2000/XP 上で動くというだけの要件になるかもしれませんし、あるいは 3D アクセラレータを積んだグラフィックカードまで必要になるかもしれません。あなたがインストールしようとしたテーマやモジュールに付属している文書を注意深く読んでください。

冒頭に戻る

インストール

注意: あなたは Windows の互換シェルをインストールしようとしています。シェルは普通のアプリケーションではありません。これは特別なシステム・プロセスとして動作します。シェルを置き換えてもマイクロソフト社はサポートしてくれませんし、もし何か間違ったことをすれば、あなたは全く動作しないデスクトップに放り出されることになり、そのうえ(あるいは)あなたのシステムは Windows を再インストールせよとエラーメッセージを表示するかもしれません。でも、驚かないでください。もし必要なら、最初に戻って間違いを直し、もういちどやり直せる簡単な方法があります。この話題については、あなたが使う LiteStep の配布物に書かれている内容を読むか、以下に説明する「マニュアル・インストール」の手順を読んでください。

ここで先に進むにあたり、LiteStep を使うには幾つかの方法がありますから紹介しておきましょう。

LiteStep をインストールするには、まずあなたが Windows の管理者権限をもっていなくてはなりません

A) LiteStep ディストリビューション(おすすめの自動化されたインストール方法)

LiteStep を始めるおすすめの方法は、コミュニティが管理しているディストリビューションの一つをインストールすることです。そうしたディストリビューションは、ふつうは順序を追って優しくインストールが進められるウィザードをつけていて、ウィザードがデフォルトのデスクトップ環境とテーマを使うためのシステムを構築してくれるでしょう。いまのところ、私たちがすすめるのは Tobbe さんが提供していてオープン・テーマ・スタンダード (OTS2) を実装している LOSI - LiteStep オープンソース・インストーラです。

LOSI は、http://www.tlundberg.com/LOSI/ からダウンロードできます。*2

*2移転して、2011年現在は http://tobbe.github.com/losi/ からダウンロードできる。

どのディストリビューションを使うかはともかく、あなたは LiteStep メーリングリスト (LSML) や、上記で紹介したサイトのユーザフォーラムから多くのことが学べるでしょう。すぐに助けが必要なら、私たちが Freenode (irc.freenode.net) で開いている IRC チャネル #litestep に、ぜひ参加してください。でも質問するときは、IRC というものは暇を持て余せるようになった人がチャネルへ入ってきて使うものなので、答えがすぐに返って来なくても辛抱しましょう。

B) 一からの LiteStep(マニュアル・インストールと設定)

ここでストップ。もしあなたがレジストリの編集に不慣れだったり、たくさんの文書を読むことに耐えられなかったり、あるいはテキスト形式の設定ファイルを編集するのに馴染んでいないなら、この手順で LiteStep をインストールするのはやめてください。LiteStep のディストリビューションを使うといいですよ、それじゃあね。

「俺ひとりで-やって-やるぜ」的な人には、インストールを始める前に以下の文書をよく読んでもらうことをおすすめします。そうすれば、途中で悩まされることが少なくなると思います。いや、ほんとに。

まず、LiteStep のフォルダを作ってください。たいていは "C:\LiteStep" というフォルダを作ります。

"LS-0.24.8.zip" という圧縮ファイルの中身を、そのフォルダへ展開します。正しく展開すれば、"C:\LiteStep\litestep.exe" というファイルがフォルダの中にあるはずです。

そして "step.rc" という名前でテキストファイルを作って、それを "litestep.exe" があるのと同じフォルダに置きます。ここで例として使っているフォルダの場所をそのまま使えば、この空っぽのテキストファイルは "C:\LiteStep\step.rc" という場所になくてはなりません。

次に、「使い方(ヘルプ)」を参照して、step.rc ファイルを使って LiteStep を設定する仕方を調べてください(サンプルの step.rc が紹介されています)。設定するまでは、LiteStep をあなたのシェルに指定しないでください。でないと、使えない(まだ復旧できない)システムが出来上がってしまいます。

LiteStep をシェルとして指定するには、以下の指示に従ってください。

1. Windows 9x/Me
テキストエディタ(例えばメモ帳)で Windows の "system.ini" というシステムファイルを開きます。このファイルは、ふつうは "C:\Windows\system.ini" にあります。
"shell=" という文字列から始まっている行を見つけてください。この行は、"[boot]" という一群の設定の中に見つかります。通常、この行の内容を全て書くと "shell=exeplorer.exe" のようになっています(引用符はありません)。ここで、この行の先頭にセミコロンを入力してコメントアウトします(セミコロンから始まる行はコメントアウトされ、無効になります)。すると、その行は ";shell=explorer.exe" のようになるでしょう(もちろん、引用符はありません)。
"shell=" で始まる行を、同じとこらへんに新しく作ります。この新しい行には、"litestep.exe" の場所を記入します。例えば、"shell=C:\LiteStep\litestep.exe" のようになるでしょう(実際の記述に引用符は必要ありません)。
システムを再起動…したいのですが、
その前に。再起動して、もし次のようなエラーが出たらどうしましょうか。*3

"CANNOT FIND <シェルのファイル名> PLEASE REINSTALL WINDOWS"

*3シェルの立ち上げに失敗したらこのファイル(翻訳したウェブページである本ページのことではありません)を読むのが困難になるので、この箇所はシェルを換えた状態で初めて再起動する前に読んでおくべきです。原文では「もしエラーが出たら読みましょう」というニュアンスになりますが、この理由からニュアンスを変えました。

ここで、Windows を再インストールしてはいけません。そうじゃなく、以下の説明を読んで、シェルを元の状態へ戻してください。
DOS モードで起動します(Windows が起動する前に F8 を押しておくか、DOS のブートディスクを使う)。DOS モードが立ち上がったら、system.ini ファイルの場所をあなたの使っているシステムに合わせて、"edit C:\Windows\system.ini" というコマンドを打ち込んでください。編集できるようになったら、さきほど新しく追加した行を消して、コメントアウトした方の行で先頭に追加したコロンを消します。これで、"system.ini" ファイルの "[boot]" セクションには "shell=" で始まる行がひとつだけ残り、その行は "shell=explorer.exe" となっているはずです。これで、ファイルを保存してシステムを再起動してみてください。
2. Windows 2000/XP

注意。もしあなたがマシンの管理者でないなら、殆どの場合、あなたは LiteStep をあなたのシェルとして設定することはできないと思います。唯一の例外は、あなたのシステムの管理者がシェルを「ユーザごとに設定できる (per user)」ようにしている場合だけです。システムがこのようになっていることは、殆どありません。

"regedit" を開くか、同じことができるツールを起動します。
シェルを "per user"(ユーザごとに指定)できるようにします。以下のキーを見てください。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT
\CurrentVersion\IniFileMapping\system.ini\boot

"shell" という名前の文字列値を以下のように設定します。

USR:Software\Microsoft\Windows NT\CurrentVersion\Winlogon

ユーザごとに指定できる設定を無効とするには、以下のような値にします。

SYS:Microsoft\Windows NT\CurrentVersion\Winlogon

システムのデフォルトのシェル(ユーザごとにシェルを指定できる設定が無効になっているか、その設定になっていても特に他のシェルを指定していない場合)を指定するには、以下のキーを見ます。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT
\CurrentVersion\Winlogon

ここで "shell" の名前に設定されている文字列値を、あなたがデフォルトのシェルとして使いたいファイルのパスへ書き換えます。
LiteStep を使うなら(以下のパスはあなたがインストールした場所に読み替えてください)、

C:\LiteStep\litestep.exe

エクスプローラを使うなら(ドライブからの完全なパスを指定する必要はありません)、

explorer.exe*4

*4ときどき表記ゆれがあるので、細かい修正は断りません(と、ここで断っておきます)。上記の例だと、ふつうエクスプローラの実行可能ファイルは "explorer.exe" であって、もし "Explorer.exe" だったらマルウェアである可能性を疑うべきです。但し、プロセスを監視したり表示するツールの中には "Explorer.exe", "Explorer.EXE", "EXPLORER.EXE" などと「表示」するものがあるので、注意しましょう。

いまログインしているユーザについてシェルを指定する場合は、以下のキーを見ます。

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon

そうして "shell" という名前のキーに、いまログインしているあなたが使うシェルを文字列値として設定(なければ作成)します。
LiteStep を使うなら(以下のパスはあなたがインストールした場所に読み替えてください)、

C:\LiteStep\litestep.exe

エクスプローラを使うなら(ドライブからの完全なパスを指定する必要はありません)、

explorer.exe

エクスプローラ以外のどんなシェルを使うときにも、以下のキーを変更しなくてはなりません。もしこのキーを設定しなければ、ファイルマネージャとしてのエクスプローラが使えなくなってしまいます。
以下のキーを見てください。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer

"DesktopProcess" という名前のDWORD値を 1 に設定します。値がなければ作成します。*5

*5「値を作る」とか「値を設定する」という表現に違和感を持つ人がいるかもしれませんが、レジストリでは具体的に設定値を格納するファイルのように見えているものが「値」と呼ばれていて、レジストリエディタではフォルダのように見えるものを「キー(サブキー)」と呼んでいます。

キーと値

もしユーザごとにシェルを指定できるかどうか値を変更したら、いちどシステムを再起動するか単にログオフしなければなりません。全て正しく設定されていれば、戻ったときにデスクトップ環境は LiteStep になっていることでしょう。
もしデスクトップに何も表示されなかったり、何も反応がなければ、Ctrl + Shift + Esc キーを同時に押してみてください。Windows のタスクマネージャが起動する筈です。「ファイル(F)」メニューから「新しいタスクの実行(N)...」を選び、「新しいタスクの作成」を実行してください。そしてそこからレジストリエディタを起動し、ここまで見てきた説明を使って、システムのシェルをデフォルトのエクスプローラに戻してみてください。

冒頭に戻る

使い方(ヘルプ)

以下のセクションでは、LiteStep の中身を広げてみて、どんな設定ができるのか見てゆきます。この文書の中では、パラメータの値を記述するのに <...> (で囲んだ値)は必須のパラメータを、{...} (で囲んだ値)はオプションのパラメータを表すものとします。

最初からいつでも使えるのは、Ctrl + Alt + F1 のコンビネーション、つまり Ctrl キーと Alt キーを押しながら F1 キーを押し下げたあと、三つのキーから指を同時に放すことで起動する「リカバリメニュー」です。これを起動するとマウスカーソルのある位置にポップアップメニューが表示されるでしょう。このメニューで、間違った設定を修正できます。

A) LiteStep の構造

LiteStep は、モジュール式のプラグインを使うシステムとして設計されています。LiteStep の「コア」システムそのものは、あなたが自分で設定したりプラグインを使うまでは、それほど便利なものではありません。それらプラグインは「モジュール」と呼ばれ、幾つかの LiteStep コミュニティ・サイトから入手できます(「このリリースノートについて」を参照)。

LiteStep のコアは以下のファイルで構成されています。

litestep.exe
メインの実行ファイル。モジュールを読み込んだり、メッセージによるプロセス間通信を扱ったり、スタートアップに登録されたアプリケーションや、DDE あるいはトレイサービスを起動したりします。
lsapi.dll
モジュールのための LiteStep API を提供します。step.rc を読み込んで構文解析(パース)します。つまり、$evars$(環境変数)や他の設定を扱います。また、コアのものも含めて !bang コマンドを運用します。
hook.dll
幾つかの古いモジュールが使うシェル関連のシステムフックを提供して、グローバルのシステムメッセージを受け取ります。*6

*6詳しくは Windows 用アプリケーションの開発にかんする知識が必要なので、MSDN を参照のこと。

LiteStep は "libpng13.dll" と "zlib1.dll" にも依存していて、これらはポータブル・ネットワーク・グラフィックス (PNG) 形式の画像をサポートするために必要です。これらのファイルは "litestep.exe" と同じディレクトリか、あるいはシステムパス(システムフォルダ)になければなりません。*7

*7C:\Windows など、Windows の環境変数である "%Systemroot%" や "%WINDIR%" でアクセスできるフォルダのこと。

LiteStep は "step.rc" というテキスト形式の設定ファイルを使います。これは "litestep.exe" と同じディレクトリに置かなければなりません。

LiteStep は "lsapi.dll" の LiteStep API によってモジュールを読み込み、それによって各モジュールの設定値を取り込んだり、高度なグラフィック表示を作成したり、あなたに高度な機能や見て楽しいデスクトップを提供するために LiteStep のコアとやりとりします。

B) コマンドライン・パラメータ

"litestep.exe" は幾つかのコマンドライン・スウィッチによって異なる動作をします。

-nostartup
LiteStep を起動するときに、Windows のスタートアップ・アイテムの起動を無効にします。
もしあなたが Windows 95, Windows 98, Windows 98 SE それから Windows Me で LiteStep を再起動するときには、このスウィッチが有効です。
Windows 2000 と Windows XP では、このスウィッチは必要ありません。なぜなら、これらの OS ではスタートアップ・アイテムが起動セッションごとに一度しか起動しないからです。
使い方の例:
litestep.exe -nostartup
-startup
LiteStep を起動するときに Windows のスタートアップ・アイテムを強制的に起動します。
Windows 2000 と Windows XP では、スタートアップ・アイテムはセッションごとに一度だけ起動します。このスウィッチを使うと、その挙動を取り消して、スタートアップ・アイテムを強制的に起動します。
このスウィッチは、LiteStep が起動するときにはスタートアップ・アイテムが常に起動する Windows 95, Windows 98, Windows 98 SE, Windows Me だと使う必要がありません。
使い方の例:
litestep.exe -startup
!<bang コマンド>
或る決まった !bang コマンドやパラメータを、いま動作している LiteStep のインスタンスに送ります。!bang コマンドを受け取った LiteStep の先行インスタンスは、その !band コマンドを実行します。
これは、たぶん LiteStep をスクリプトなどによって外部からコントロールするのに使えます。
使い方の例:
litestep.exe !recycle
litestep.exe !ReloadModule "C:\LiteStep\modules\popup.dll"
<file>
設定ファイルである "step.rc" の完全パスを指定して、LiteStep が設定内容をそのファイルから読み込むようにします。これは、litestep.exe と同じフォルダにある step.rc を読み込むというデフォルトの挙動を打ち消します。
使い方の例:
litestep.exe C:\LiteStep\presonal\config\step.rc

C) step.rc の書き方(文法)*8

*8"parse" という言い方に該当する箇所は、正確な意味合いでは「字句(lexical)解析」の話も含まれていますが、以下では「構文(syntactic)解析」と表現します。

step.rc は、<コマンド> {値} というディレクティブ式の文法という形式をとっています。

テキストの(論理)行ごとに一つのディレクティブを書きます。

<コマンド> は、* を使える特別な場合を除いては、step.rc の構文解析で予約されている文字種や、数字、引用符、ブラケット("[" や "]")で書き始めてはいけません。構文解析で予約されているのは、以下の文字種です。

! $ & * ( ) - + = [ ] ; " ' < > , /

更に、@, # あるいは |(パイプ、あるいは垂直バー)も使わないほうが良いでしょう。なぜなら、それらは後で予約された文字種になるかもしれないからです。

{値} に何が書けるかは <コマンド> ディレクティブの内容によって異なり、それぞれのディレクティブに関する文書で説明されています。もしそのディレクティブが何らかのモジュールで要求されているなら、そのモジュールの文書で対応する箇所を読んでください。値として書けるデータの型について更に詳しく知りたければ、後述する「step.rc ディレクティブの構文解析」を参照してください。

LiteStep は、step.rc を読み込む際に三つの段階で構文解析を行い、動作にあたって変数の値を参照します。

1. step.rc ファイルの構文解析
step.rc ファイルの構文解析では、セミコロン(";")、ブラケット("[", "]")、(一重、二重の)引用符を予約語として使います。
;
セミコロンがテキストの(論理)行の先頭に使われているときは、その行をコメントとして扱います。コメントはディレクトリ構文解析によって無視される行のことです。コメントは <コマンド> ディレクティブの行の最後に書いても構いません。すると、その行では、セミコロンの後に書かれた内容は(セミコロン自身も含めて)全て無視されます。
他の予約文字種については、「step.rc ディレクティブ構文解析」を参照してください。
ファイルの構文解析は、プリプロセッサのように動作します。そしてそれは、step.rc を読み込むときの最初のプロセスです。
step.rc ファイルの構文解析は、以下のディレクティブを評価します。
  • Include
  • If
  • ElseIf
  • Else
  • Endif
2. step.rc ディレクティブの構文解析
step.rc ディレクティブの構文解析では、スターまたはアステリスク("*")、ドル記号("$")、ブラケット、引用符を予約語として使います。
*
<コマンド> ディレクティブの先頭に使って、同じ名前で複数の <コマンド> を指定できます(個々のコマンドは一行毎に指定します)。
$...$
{値} に入るパラメータを囲むように書いて、そのパラメータが現れるところでは指定した値が展開されるようにします。
[...]
{値} に入るパラメータを囲むように書いて、それで囲まれた値が単一のトークン(構文解析において一つのパラメータ)として扱われるようにします。
"..."
{値} に入るパラメータを囲むように書いて、空白文字も含めて値になるようにします(空白文字はタブスペースのことです)。
'...'
{値} に入るパラメータを囲むように書いて、囲まれた中身が一個の二次パラメータとして扱われるようにします。

step.rc ディレクティブの構文解析では、{値} として扱える幾つかのデータ型があります。
(以下に示されているのは、仮に使っているだけの実在しないディレクティブ名です。)

ブール値
TRUE あるいは FALSE だけを値とします。
例:
MyModuleHideIfEmpty TRUE
色値
RGB の16進数または10進数の三組フォーマットで表記します。
例(16進数):
MyModuleBackgroundColor 4682B4
例(10進数):
MyModuleBackgroundColor 70 130 180
整数値
整数値を値とします。
例:
MyModuleWidth 32
文字列値
引用符で囲まれた、予約されていない文字セットのひとまとまりです。
例:
MyModuleDisplayText "このモジュールはすげーな!"
一行内の未定義値
未定義値にはあらゆるデータ型を入れられます。そして、それは特定のモジュール実装や文書によってしかるべく扱われます。例えば、或るモジュールが整数値と文字列値を単一の {値} として含む単独のディレクティブ行を要求することもありえます。
例:
MyModuleFont Bold 16 "Courier New"
3. step.rc 評価の構文解析
評価の構文解析は条件文のディレクティブ、つまり If や ElseIf を評価するときにファイルの構文解析で使われます。また、ランタイムの変数値展開ハンドラによっても使われます。評価の構文解析は、次にそれぞれ示すような変数(値)、オペレータ、関数にある式を見ます。
データ型
構文解析で扱われる式の値は、ブール値、数値、あるいは文字列値という三つの中のどれかです。ブール値は論理的な真または偽の値です。数値は IEEE 754 で定められた倍精度の数であり、この規格には正負の無限大や NaN(不正演算結果)という特殊な値も含まれます。整数は全てこのデータ型に含まれるので、これとは別に整数型というデータ型を用意しているわけではありません。文字列型はキャラクタの列です。
式が構文解析で評価されると、その中にある値は必要に応じて異なる型へ自動的に変換されます。明示的に型を変換する必要があれば、型変換の関数を使います。後に出てくる関数の説明から分かるように、型の変換は、明示的であろうとなかろうと同じルールに従います。
未定義値
互換性を保つために、条件文の式(If や ElseIf)ではエラーを生成せずに未定義値を使えます。どんな演算子や関数であろうと、未定義値を当てはめた結果は未定義値になります。もし条件文の式が未定義値の結果をもつと評価されたら、その式は偽の値を持つかのように扱われます。
この挙動は、LiteStep のバージョン 0.24.8 まではサポートされますが、将来はサポートされなくなります。未定義値を検出する正しいやり方は、以下のように "defined" キーワードを使うことだからです。
If defined( 何らかの値 )
If not defined( 他の値 )
defined キーワードは、ちょうど変数名を受け取る関数のように振る舞い、その変数(名で登録されている変数)が定義されているかどうかによって、TRUE または FALSE を返します。しかし、defined キーワードは本当の関数ではありません。なぜなら、その引数は(或るデータ型の値ではなく)変数名だからです。
未定義値を $ で囲まれた式の中で使うと、それは常に未定義だということになるので、エラーになります。
演算子
LiteStep がサポートしている演算子を、優先順位の高いものから順番に以下へ列挙します。三つの単項演算子だけは例外ですが、他の全ての演算子は二項演算子であり、左結合(同じ優先順位の演算子で a + b + c などと並んでいる場合は、( a + b ) + c のように左からまとめられること)になっています。
  • 括弧: ()
  • 単項演算子: + - not
  • 乗法(除法): * / div mod
  • 加法(減法): + -
  • 結合: &
  • 関係: = < <= > >= <> !=
  • 論理積: and
  • 論理和: or
  • Identity(単項演算子 +): オペランドを返し、数値に変換します。
  • Negation(単項演算子 -): オペランドの加法逆元を返し、数値に変換します。
  • 論理的否定(not): オペランドの論理的な否定を返し、ブーツ値に変換します。
  • 乗法(*): オペランドの積を返し、数値に変換します。
  • 除法(/): オペランドの商を返し、数値に変換します。
  • 整数の除法(div): オペランドの除法から小数点以下を切り捨てて商を返し、数値に変換します。
  • 法(mod): オペランドの除法から小数点以下を切り捨てて剰余を返し、数値に変換します。
  • 加法(+): オペランドの和を返し、数値に変換します。
  • 減法(-): オペランドの差を返し、数値に変換します。
  • 結合(&): オペランドの結合を返し、文字列値に変換します。
  • 関係演算子(=, <, <=, >, >=, <>, !=): オペランドの間に、それぞれの関係が成り立っていれば TRUE を返します。もし両方のオペランドが文字列なら文字列値どうしとして比較され、そうでなければ数値として比較されます。非同値演算子の <> と != は交換可能です。文字列値どうしの比較では、大文字と小文字を区別します。
  • 論理積(and): ブール値に変換した後でオペランドがどちらも TRUE であれば TRUE を返します。
  • 論理和(or): ブール値に変換した後でオペランドのどちらかが TRUE であれば TRUE を返します。
関数
LiteStep は step.rc の式に使える幾つかの関数を最初からサポートしています。これらの関数をアルファベット順で以下に列挙して、簡単に説明します。
  • abs(数値): 引数の絶対値を返し、数値に変換します。
  • boolean(値): ブール値に変換して返します。0、NaN、それから空の文字列は FALSE となります。それ以外の全ての値は TRUE になります。
  • ceil(数値): 引数の天井関数であり、引数を下回らない最小の整数を返し、数値に変換します。
  • contains(文字列値, 文字列値): 第二引数を文字列値に変換して、それが文字列値に変換した第一引数に含まれていれば TRUE を返します。
  • endsWith(文字列値, 文字列値): 第二引数を文字列値に変換して、それが文字列値に変換した第一引数の最後部分と一致すれば TRUE を返します。
  • floor(数値): 引数の床関数であり、引数を超えない最大の整数を返し、数値に変換します。
  • if(条件, 真の場合, それ以外): 第一引数をブール値に変換して、もし TRUE なら第二引数を、もし FALSE なら第三引数を返します。この関数は、インラインで書ける簡単な条件法として使えます。
  • integer(値): 引数を整数値に変換して返します。整数に変換することは、無限大と NaN を 0 に変換するという事例を除けば、数値に変換することと同じ扱いです。
  • length(文字列値): 引数を文字列に変換して、その長さを返します。
  • lowercase(文字列値): 引数を文字列に変換したあと、全ての文字を小文字に整形して返します。
  • max(数値, 数値): 引数を数値に変換して、大きい方の引数を返します。
  • min(数値, 数値): 引数を数値に変換して、小さい方の引数を返します。
  • number(値): 引数を数値に変換して返します。ブール値については、TRUE は 1 に、FALSE は 0 に変換します。文字列値は数値リテラルに変換し、変換できなければ NaN に変換します。
  • pow(数値, 数値): 数値に変換した第一引数を、数値に変換した第二引数だけ冪乗した値が返されます。
  • round(数値): 引数を数値に変換して、最も近い整数に丸めます。*9
  • *9下記のように書いてみた step.rc で LiteStep を再起動しても問題ありませんが、round(1.4) だとデスクトップ環境が表示されなくなります。従って、round(1.5) = 2 === TRUE なので、LiteStep の round() は「四捨五入」です。

    If round(1.5) = 2
    include "$PersonalDir$personal.rc"
    include "$ThemeDir$theme.rc"
    Else
    ;
    EndIf
    

    実際、ソースコードを lsapi\MathParser.cpp [804] で確認すると、

    // Round
    MathValue Math_round(const MathValueList& argList)
    {
        double x = argList[0].ToNumber();
        return _copysign(floor(x + 0.5), x);
    }
    

    となっていて、引数に 0.5 を足してから floor() を使う一般的な四捨五入であることが分かります(符号を一致させる copysign 関数はここでは無視してもいいです)。ただしこれだと -1.5 は -1 に丸められてしまうので注意が必要です。

  • startsWith(文字列値, 文字列値): 第二引数を文字列値に変換して、それが文字列値に変換した第一引数の冒頭部分と一致すれば TRUE を返します。
  • string(値): 引数を文字列値に変換して返します。ブール値については、TRUE は "true" に、FALSE は "false" という文字列に変換します。数値は標準的な方法で文字列として整形されます。
  • sqrt(数値): 引数を数値に変換して、その平方根を返します。
  • upperCase(文字列値): 引数を文字列値に変換して、全ての文字を大文字にして返します。
4. ランタイムの変数展開
変数の展開はテキストの置き換えと式の評価をサポートしていて、$ 文字で展開したい箇所を囲みます。(例えば、$LiteStepDir$ や $ScreenWidth - 32$ のように。)
上述した「step.rc 評価の構文解析」も参照してください。
5. 画像、アイコン、それから「不思議なピンク」
モジュールによっては画像ファイルの読み込みを要求するかもしれません。
LiteStep は、いまのところ BMP 形式と PNG 形式の画像ファイルを読み込み、それから ICO ファイルとリソースのライブラリからアイコン画像も読み込めます。
(以下の例は、架空の "ModuleBackgroundImage" というディレクティブを使って表記します。)
通常の BMP ファイルや PNG ファイルを読み込むには、それらのパスをモジュールの設定ディレクティブの要求にしたがって指定します。
ModuleBackgroundImage "C:\folder\image.bmp"
アイコンを ICO ファイルやリソースのライブラリから画像として読み込むには、以下のようなフォーマットで記述します。
ModuleBackgroundImage ".extract=<アイコンのリソース>"
このフォーマットで <アイコンのリソース> となっている箇所には、読み込みたいアイコンを指定します。この書き方について詳しく知りたければ、下記を参照してください。注意が必要なのは、モジュールがふつうの画像ファイルとして扱おうとしているものについては、リソースの先頭に ".extract=" と書かなければいけないという点です。
複数の画像をひとつの画像に合成して読み込むためには、個々のファイルのパスをパイプ文字("|")で区切って、下記のように書いてください。
ModuleBackgroundImage "C:\folder\image1.png|C:\folder\image2.png{|...}"
ここで最後の画像が最も下になり、最初の画像が最も上になります。なお、この書式にアイコンのリソースを混ぜてもよく、そのときは ".extract=" という前置きをつけてください。
LiteStep では、相対パスを使うと画像ディレクトリからのパスになります。詳しくは LSImageFolder という step.rc のディレクティブについて説明している箇所を見てください。
もし或る画像が「不思議なピンク」である、RGB 形式で 255 0 255 (FF00FF) の色を含んでいるときは、その箇所は背景を透過するように表示されます。幾つかのモジュールは、そういう背景の透過を有効にしたり無効にする別の設定を必要としている場合があります。これについては、使おうとしているモジュールの文書を参照してください。
モジュールによって、アイコンの読み込み方が特殊なものもあります。LiteStep はどんなリソースファイルやリソースのアーカイブからでもアイコンを読み込めますし、desktop.ini ファイルに関連付けられたアイコンも同様です。
アイコンを以下のような書き方でも読み込めます。
アイコンファイルを直に読み込む。
"C:\path\to\file.ico"
アイコンをリソースのライブラリ(.icl, .dll, .exe など)から、リソースのインデックスを指定して読み込む(以下の例ではインデックス 9 のアイコンを読み込んでいます)。
"C:\path\to\icon\library.icl,9"
フォルダの desktop.ini ファイルから、関連付けされているアイコンを展開する。
"C:\path\to\some\folder\"
ファイルへの相対パスは LiteStep の画像ディレクトリからのパスになります。詳しくは、LSImageFolder という step.rc のディレクティブについて説明している箇所を見てください。

D) step.rc ディレクティブ

Include <ファイル>
step.rc のフォーマットで書かれた他のファイルを指定してインクルードします。
使い方:
Include C:\LiteStep\config\theme.rc
If, ElseIf, Else, and EndIf
step.rc の一部を条件式として構文解釈します。
If ディレクティブを条件範囲の冒頭で使ったら、その If ディレクティブは TRUE (非ゼロ)か FALSE(ゼロ)の結果になるように評価されます。もしその結果が TRUE なら、それ以降の範囲が次の Elseif, Else, EndIf まで有効な設定として扱われ、結果が FALSE なら、その部分は無視されます。
ElseIf ディレクティブは If と似た働きをしますが、それが受け取る式は、そこまでの全ての If や ElseIf の式が FALSE と評価されたときにのみ、評価されます。
Else ディレクティブは、そこまでの全ての If と ElseIf の式が FALSE と評価されたときにのみ、後続する範囲を有効な設定として構文解析に渡します。Else は一度しか使えず、それは全ての ElseIf 文の後に書かなければなりません。
EndIf ディレクティブは条件式の範囲が終わることを示します。If ディレクティブを使うたびに、それに対応する EndIf がなければなりません。If-EndIf のブロックは、好きなだけ入れ子にしてもかまいません。
条件演算子と式の書式については、上に述べた「step.rc 評価の構文解析」を見てください。もし LiteStep の変数(環境変数)を条件文の式に使うときは、それを $ 記号で囲まないようにしてください(ドル記号は、ランタイムの変数展開においてしか使えません。ランタイムの変数展開については、上述の説明を見てください)。
使い方:
If <式>
  <設定内容>
ElseIf <式>
  <設定内容>
Else
  <設定内容>
EndIf
LoadModule <ファイル>
読み込むモジュール(プラグイン)を指定します。
使い方:
LoadModule C:\LiteStep\modules\popup.dll
LSNoStartup <ブール値>
システムに登録されているスタートアップ・アイテムの起動を無効にします。
注: この設定を反映するには LiteStep を再起動しなければなりません。
使い方:
LSNoStartup TRUE
LSAutoHideModules <ブール値>
何かのアプリケーション(例えばゲーム)がフルスクリーン・モードで起動するときに、LiteStep のモジュールを自動的に隠します。
使い方:
LSAutoHideModules TRUE
LSNoShellWarning <ブール値>
他のシェルが起動しているときに LiteStep を更に実行しても警告メッセージが出ないようにします。自分が何をしようとしているか分からない場合は、この設定を使わないようにしてください。
注: この設定を反映するには LiteStep を再起動しなければなりません。
使い方:
LSNoShellWarning TRUE
LSSetAsShell <ブール値>
LiteStep をシステムのシェルとして登録します。この機能は、LiteStep を間違って終了させてしまったときに自動で復旧するために使います。しかし、まだ試験段階の機能なので、いまは使わないほうがよいでしょう。もしこの機能を有効にしたままエクスプローラをファイルマネージャとして使っているときに問題が出たら、この機能を無効にしてください。
注: この設定を反映するには LiteStep を再起動しなければなりません。
使い方:
LSSetAsShell TRUE
LSUseSystemDDE <ブール値>
LiteStep 上で動的データ交換(Dynamic Data Exchange)が使えるようにします。これはファイルマネージャとしてのエクスプローラや他のサービスを使うときに、色々な機能を使うのに必要です。しかし LiteStep 上ではまだ十分に機能を使えず、時として予想外の結果が起きたりします。リソースの使用について何か問題があるときは、この機能を無効にしてください。
注: この設定を反映するには LiteStep を再起動しなければなりません。
使い方:
LSUseSystemDDE TRUE
LSDisableTrayService <ブール値>
アイコン通知(システムトレイ)サービスを無効にします。他のシェル、あるいはアイコン通知サービスを提供するアプリケーションの上で LiteStep を実行するときには、これを使うと便利です。
注: この設定を反映するには LiteStep を再起動しなければなりません。
使い方:
LSDisableTrayService TRUE
LSImageFolder <パス>
LiteStep が画像ファイルを見つけるのに、デフォルトでどこを検索するか指定します。何も設定しなければ、<インストールパス>\images\ (例えば C:\LiteStep\images\)になります。
使い方:
LSImageFolder "C:\LiteStep\themes\mytheme\images\"
ThemeAuthor <文字列値>
いま使っているテーマの作者名をセットして、!About ダイアログボックスに表示します。
使い方:
ThemeAuthor "Mr. ThemeWizard"
ThemeName <文字列値>
いま使っているテーマの名称をセットして、!About ダイアログボックスに表示します。
使い方:
ThemeName "Elite-h/\x"
LSLogLevel
(このディレクティブは廃止しました)
LSLogFile
(このディレクティブは廃止しました)

E) step.rc 環境変数

$ 記号で囲むとランタイムで評価される環境変数は、以下のとおりです。

  1. フォルダパスの展開
  2. 2. 条件に使う変数
  3. 3. リソース
  4. 4. GUID フォルダの展開*10
  5. *10GUID は、ここでは Windows システム上のオブジェクト識別に使われています。以下の環境変数を使うと、Windows 98 であっても Windows 7 であっても、$Printers$ は「プリンタとFax」のフォルダにアクセスします。

F) !Bang コマンド

!About
LiteStep についてダイアログボックスを表示します。
使い方:
!About
!Alert
メッセージボックスを表示します。
使い方:
!Alert <メッセージ> {タイトル}
!CascadeWindows
最小化されていないアプリケーションのウィンドウを、全てカスケード状に並べます。
使い方:
!CascadeWindows
!Confirm
メッセージボックスを表示して、「はい(Yes)」「いいえ(No)」で答えられるようにします。その答えに応じて、それぞれ違うコマンドを実行します。
使い方:
!Confirm <メッセージ> {タイトル} <Yesで実行するコマンド> <Noで実行するコマンド>
!Execute
一連のプログラムや、bang コマンドを実行します。
使い方:
!Execute [<コマンド1>]{[<コマンド2>]...[<コマンドn>]}
!HideModules
全てのモジュールを隠します。
使い方:
!HideModules
!Logoff
現在のユーザをログオフします。事前に何も表示せずに、即座にログオフします。
使い方:
!Logoff
!MinimizeWindows
全てのアプリケーション・ウィンドを最小化します。
使い方:
!MinimizeWindows
!None
何もしません。コマンドが要求されている箇所にダミーとして使うと便利です。
使い方:
!None
!Quit
LiteStep を終了させますが、Windows を終了するわけではありません。このコマンドを実行するとシェルがなくなってしまうので、注意してください。
使い方:
!Quit
!Recycle
設定ファイルやモジュールを読み込み直します。Shift キーを押すと、この再起動の操作を一時停止できます。このコマンドを使えば、LiteStep を終了させずにモジュールを置き換えられます。
使い方:
!Recycle
!Refresh
設定ファイルを読み込み直して、モジュールに反映させます。しかし、全てのモジュールがこれをサポートしているわけではありません。
使い方:
!Refresh
!Reload
設定ファイルを読み込み直します。モジュールを読み込み直したり、設定の変更をモジュールに反映したりはしません。
使い方:
!Reload
!ReloadModule
特定のモジュールを読み込み直します。設定ファイルは読み込み直しません。そして、もしそのモジュールがそもそも未だ読み込まれていなければ、読み込みます。
使い方:
!ReloadModule <パス>
!RestoreWindows
全ての最小化されているウィンドウを元に戻します。
使い方:
!RestoreWindows
!Run
「ファイル名を指定して実行」のダイアログボックスを表示します。
使い方:
!Run
!ShowModules
!HideModules コマンドによって隠れているモジュールを表示します。
使い方:
!ShowModules
!Shutdown
Windows を終了するダイアログボックスを表示します。
使い方:
!Shutdown
!SwitchUser
Windows XP で Fast User Switching サービスが有効になっているとき、このコマンドを使えば、いまのユーザをログオフしないで他のユーザに切り替われます。他のシステムでこのコマンドを使うと、ワークステーションをロックしたのと同じになります。
使い方:
!SwitchUser
!TileWindowsH
最小化されていない全てのアプリケーション・ウィンドウを、水平にタイル状にして並べます。
使い方:
!TileWindowsH
!TileWindowsV
最小化されていない全てのアプリケーション・ウィンドウを、垂直にタイル状にして並べます。
使い方:
!TileWindowsV
!ToggleModules
モジュールの表示・非表示を切り替えます。!HideModules と !ShowModules の説明も参照してください。
使い方:
!ToggleModules
!UnloadModule
指定したモジュールの読み込みを停止します。
使い方:
!UnloadModule <パス>

G) step.rc の見本

ちょっとまった。以下の見本を自分の step.rc にコピペするのも結構ですが、殆どそのままでは動かないです。まず自分のシステムにふさわしいモジュールをダウンロードしてきて、それを LiteStep フォルダに展開しましょう。

注意。step.rc の内容は {BeginStepRC} から {EndStepRC} までに書かれていることであり、これらの区切りそのものは step.rc に書く必要がありません*11。そして、step.rc ファイルは litestep.exe と同じフォルダに作成することを忘れないようにしてください。

*11HTML版なら blockquote や pre で文書構造としても切り離せますし、スタイルで見た目も分けられるので、これらの区切り表記はもともと原文がテキストファイルだからこそ必要だったものであり、本翻訳を読むときは無視しても構いません。以下のサンプルコードからも {BeginStepRC}, {EndStepRC} の区切り表記は消してあります。

; これは step.rc ファイルの見本です。この見本は、必要なモジュール
; (プラグイン)をダウンロードして litestep.exe と同じフォルダに
; 置かなければ使い物になりません。

; まず、使いたいモジュール(プラグイン)を読み込まないといけません。
; モジュールは以下のサイトにあるでしょう。
;  http://www.shellfront.org/modules-list.html
; ダウンロードしたら LiteStep フォルダに置いてください。
LoadModule $LiteStepDir$hotkey.dll    ; hotkey-2.0.zip
LoadModule $LiteStepDir$popup2.dll    ; popup2-2.1.5.zip

; ホットキーを設定して、メモ帳をで step.rc を開くようにします。
*Hotkey WIN+CTRL   S   notepad.exe "$LiteStepDir$step.rc"

; ホットキーを設定して、LiteStep を再起動してモジュールを全て
; 読み込み直して step.rc を反映するようにします。
*Hotkey WIN+CTRL   R   !recycle

; ホットキーを設定して、エクスプローラを立ち上げると同時に LiteStep
; を終了させます。
*Hotkey WIN+CTRL   Q   !execute [explorer.exe /e,/root,,$Drives$][!quit]

; ホットキーを設定して、!About ダイアログボックスを表示します。
*Hotkey WIN+CTRL   A   !about

; エクスプローラのショートカットに似せて、幾つかのホットキーを設定します。
*Hotkey WIN        C   explorer.exe /root,,$Controls$
*Hotkey WIN        E   explorer.exe /e,/root,,$Drives$
*Hotkey WIN        L   !logoff
*Hotkey WIN        M   !MinimizeWindows
*Hotkey WIN+SHIFT  M   !RestoreWindows
*Hotkey WIN        R   !run

; 注意:CTRL+ESC の組み合わせや、ウィンドウズキーの押下はポップアップメニュー
; を表示します。ホットキーのモジュールはそうしたデフォルトの設定をもっています。

; 次に、基本的なポップアップメニューを設定します。
HotlistName "LiteStep 0.24.8"
PopupIcons
PopupAdaptiveWidth
PopupMinWidth 125
PopupMaxWidth 300
PopupNoBevel

*Popup "My Computer" !PopupMyComputer
*Popup !Separator
IF Win9x
*Popup "Start Menu" !PopupDynamicfolder:"$Startmenu$"
ENDIF
IF WinNT
*Popup "Start Menu" !PopupDynamicfolder:"$Startmenu$|$CommonStartMenu$"
ENDIF
*Popup !Separator
*Popup "Control Panel" !PopupControlPanel
*Popup "Recent Documents" !PopupRecentDocuments
*Popup !Separator
*Popup .icon="$LiteStepDir$litestep.exe,0" "Running Tasks" !PopupTasks

冒頭に戻る

開発

バグ、要望、その他のフィードバックは、私たちのアドレスに送ってください。
devteam <at> lsdev.org

なお、バグを報告するときは(!About ダイアログボックスでバージョン情報などを取得してから)、以下の情報を合わせて教えてください。

私たちは一緒にモジュールを開発してくれる人を募集しています。我こそはと思う方は、Freenode (irc.freenode.net) の #lsdev という IRC チャネルに来て下さい。また LiteStep 開発者専用のメーリングリストも、全てのモジュール開発者に開放しています。更に情報やリンクを知りたい方は、私たちのサイト http://www.lsdev.org/ へおいでください。

冒頭に戻る

謝辞

LiteStep 開発チーム:

現在のチーム:
- Alexander Vermaat (Acidfire)
- Chris Rempel (jugg)
- Simon (ilmcuts)
- Tobbe Lundberg (Tobbe)
(Inactive Members)
- Joshua Seagoe (RabidCow)
- Kevin Schaffer (Maduin)
- Vidar T. Fauske (Xjill)
LiteStep 0.24.8
- Alexander Vermaat (Acidfire)
- Chris Rempel (jugg)
- Kevin Schaffer (Maduin)
- Simon (ilmcuts)
- Tobbe Lundberg (Tobbe)
LiteStep 0.24.7
- Bobby G Vineyard (Message)
- Chris Rempel (jugg)
- Simon (ilmcuts)

過去の開発者たち

LiteSTEP 創作者
Francis Gastellu (Lonerunnr)
v0.24.0 開発者とチーム
Brandon Williams (Floach)
Bryan Kilian (MHolmesIV)
Damian Hodgkiss (Mian)
Marlon West (AnTi_MTtr)
Chad Boyda (Toasty)
Brad Webb (webba)
Jonathan Vaughn (Sehnsucht)
Warren Konkel (Warren)
Ian Hanschen (Furan)
Todd Kadrie (tin_omen)
Edwin Man (TheMAN)
Josh Devens (cael)
Sam Phillips (Sammy)
Scott Nance (Cyric^)
Tim Lloyd (Apollo18)
David Walker (PhenomTT)
v0.24.2 の開発者たち
Bryan Kilian (MHolmesIV)
Fahim Farook (Fahim)
Warren Konkel (Warren)
v0.24.3 の開発者たち
Bryan Kilian (MHolmesIV)
Fahim Farook (Fahim)
Warren Konkel (Warren)
v0.24.4 の開発者たち
Bryan Kilian (MHolmesIV)
Fahim Farook (Fahim)
Johan Redestig (Re5ource)
Josh Devens (cael)
v0.24.5 の開発者とチーム、そして 11-23-00 時代のコード
Bryan Kilian (MHolmesIV)
Fahim Farook (Fahim)
Johan Redestig (Re5ource)
Drew (snowchyld)
Warren Konkel (Warren)
Brad Webb (webba)
Edwin Man (TheMAN)
Frĺn (cbjcyber)
James Brown (Ender_Gcc)
Shaheen Gandhi (Visigoth)
Torsten Stelling (Murphy)
Kevin Schaffer (Maduin)
Peter Edwards ((e))
Chris Rempel (jugg)
Lowell Heddings (GeekMaster)
B. Todd Kleinert II (WareWolf)
Bob Wells (Bob)
Kirill Arushanov (c0mrade)
MorpheusX
v0.24.6 の開発者とチーム
Oliver Nutter (Headius)
Bobby G. Vinyard (Message)
Joachim Clavert (NeXTer)
Kevin Schaffer (Maduin)
Dustin Williams (noodge)
Richard Lin (Chaku)
Zakhar Arushanov (cccp)
Torsten Stelling (Murphy)
Gustav Munkby (grd)
Bret Anderson (MrJukes)
John Mc Graw Jr. (DeViLbOi)
Daniel Massey (ondioline)
David Fraser (dreamer)
Steve Dunstan (jalist)
Joel D. Parker (rootrider)
Kelly Rabourn (ksr)
Brandon S. (nivenh)
demigod

そして、LiteStep とコミュニティに10年以上にわたって貢献してくれたすべての人達にありがとう。みんなが感謝しています。

冒頭に戻る

法的事項

A) Documentation License Notice

Copyright (c) 2005-2009 LiteStep Development Team

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in license.txt.

B) LiteStep License Notice

LiteStep is a replacement shell for the standard Windowsョ Explorer shell.

Copyright © 1997-1998 Francis Gastellu
Copyright © 1998-2009 LiteStep Development Team

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

http://www.lsdev.org/


Windows と Microsoft は、アメリカ合衆国と他の国々で登録された Microsoft Corporation の商標です。

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Google+ Twitter Facebook