================================================================
            クリップボードユーティリティ
                     sanvient
================================================================

■概要
  あらかじめ登録したテキストをクリップボードを使用して、他のアプリケーションに
  貼り付けるなど、入力支援を行うアプリケーションです。

■動作環境
  Windows 2000, XP, Vista

■インストール
  フォルダに解凍して、sanvient.exeを実行してください。

■アンインストール
  レジストリは使用していませんので、フォルダごと削除してください。

■ファイル
  ・language      各言語用のファイルを格納したフォルダです。
  ・scripts       アクションで「スクリプト」を選択した際に実行される
                  スクリプトファイルを格納したフォルダです。
  ・skin          スキン用の画像ファイルを格納したフォルダです。
  ・users         ユーザーごとの設定ファイルとデータファイルを格納したフォルダです。
  ・config.ini    デフォルトの設定ファイルです。
                  アプリケーションの初回起動時にusers以下のユーザーディレクトリに
                  コピーされます。
  ・data.txt      デフォルトのデータファイルです。
                  アプリケーションの初回起動時にusers以下のユーザーディレクトリに
                  コピーされます。
  ・sanvient.exe  アプリケーションの実行ファイルです。

■スキンについて
  sanvientはウインドウの外観（ビジュアル）をスキンを読み込んで表示しています。
  スキンはタスクトレイのアイコンを右クリックし、メニューから切り替えることが可能です。
  各スキンはskinフォルダ以下にフォルダで格納されており、各フォルダには、
  スキン用の設定ファイル「skin.ini」が格納されています。

■使用方法
  [用語について]
    データ      ：操作の対象となるデータの最小の単位を
                  「データ」と呼んでいます。（Windowsのファイルに該当します）
    セット      ：複数のアイテムを格納するものを
                  「セット」と呼んでいます。（Windowsのフォルダに該当します）
    アイテム    ：データとセットを総称してアイテムと呼んでいます。
    アクション  ：アイテムをボタンウインドウでボタンを押下した時などに
                  実行されるものを「アクション」と呼んでいます。
    現在のセット：現在選択されているセットになります。
                  （Windowsのカレントディレクトリに該当します）

  [操作方法]
    sanvientは主に以下の6つのウインドウで操作します。
  
    1.タスクトレイ
      sanvientのメインとなる操作を行います。
      タスクトレイのアイコンを右クリックしてメニューを表示します。
  
    2.ボタンウインドウ
      「現在のセット」に登録されているアイテムをボタンで表示しています。
      ボタンを押下するとアクションが実行されます。
  
    3.ツリービューウインドウ
      すべてのアイテムをツリー構造で表示し、アクションの実行、アイテムの編集・追加・削除・移動、
      「現在のセット」の変更などを行います。
  
    4.テキスト選択ウインドウ
      登録されたホットキーを押下することにより表示します。
      キーボード操作かマウス操作によってアイテムを選択し、実行します。
  
    5.メニューウインドウ
      登録されたホットキーを押下するか
      画面の上下左右の端にマウスカーソルが触れるとウインドウが表示されます。
  
    6.データ管理ウインドウ
      すべてのアイテムをツリー構造、リスト構造で表示し、アイテムの編集・追加・削除・移動
      などを行います。

  [アクションについて]
    1.ペースト
      文字列を貼り付けます。

    2.ファイル
      ファイルパスを記述しアクションを実行することで、ファイルをコピーして貼り付けます。
      複数のファイルパスを改行区切りで記述すると、複数ファイルの貼り付けができます。

    3.正規表現
      選択されている文字列をクリップボードにコピーし、正規表現で処理した後、ペーストを行います。
      1行目がグローバルオプション（省略可能）、2行目が検索ルール、3行目が置換ルールとなります。
      4行目以降に検索・置換ルールを2行ずつ追加することにより、複数回正規表現を行うことができます。

      例）
          グローバルオプション → 2
          検索ルール → ^.+
          置換ルール → // $0
          選択されている各行の先頭に「// 」を追加します。

      グローバルオプション：
        グローバルオプションは、すべての正規表現に対するオプションです。
        数値で入力します。
        省略した場合や0を指定すると、現在選択されているテキストを
        クリップボードにコピーし、正規表現を行います。
        2を指定すると現在クリップボードに存在するテキストに対して
        正規表現を行います。

      エスケープについて：
        正規表現は特定の文字に対して特殊な処理を行います。
        それらの文字をそのまま使用したい場合は、エスケープする（\記号をつける）
        必要があります。

        エスケープが必要な文字：
          以下の16文字をそのまま使用したい場合は、\記号を付けてください。

          \, *, +, ., ?, {, }, (, ), [, ], ^, $, -, |, /

          使用例）
            1\+1
            \/home\/

    4.キーイベント
      キーイベントを実行します。
      仮想キーコード、繰り返し回数、押下状態を表す値、をカンマ区切りで記述します。
      押下状態を表す値は、1がダウン状態、2がアップ状態、3がダウンとアップ、となります。

      例）
          65,2,3    → 仮想キーコード「65」（アルファベットのAキー）を2回、ダウンアップする
          17,1,1,86,1,1,17,1,2,86,1,2  → 仮想キーコード「17」（Ctrlキー）を1回ダウンし、
                                          仮想キーコード「86」（アルファベットのVキー）を1回ダウンし、
                                          仮想キーコード「17」（Ctrlキー）を1回アップし、
                                          仮想キーコード「86」（アルファベットのVキー）を1回アップします。
                                          結果、「Ctrl + V」（ペースト）を行った状態になります。

    5.プロセス実行
      Windowsのプロセスとして実行します。
      表示フラグ、タイムアウト、コマンド文字列、をカンマ区切りで記述します。
      表示フラグは、「1」が表示する、「0」が表示しない（バックグラウンドで実行する）となります。
      タイムアウトは、コマンドを実行した後に、待つ時間をミリ秒で指定します。
      「-1」を指定した場合は、コマンドで実行したアプリケーションの終了まで待つようになります。

        例）
          「C:\aaa.html」というファイルを「C:\bbb.html」にコピーするコマンドと
          「C:\foler1」というフォルダ内のhtmlファイルを「C:\foler2」というフォルダにコピーするコマンドを
          バックグラウンドで実行したい場合
            0,0,cmd.exe /c COPY C:\aaa.html C:\bbb.html
            0,0,cmd.exe /c COPY C:\foler1\*.html C:\folder2\

    6.スクリプト
      スクリプトファイルを実行します。
      複数のアクションを組み合わせて実行したいときや、複雑なテキスト処理を
      行いたいときに使用します。
      サポートしている言語はLuaとPythonになります。

    7.複合アクション
      複数のアクションを組み合わせて実行します。
      書式は以下のようになります。

        書式）
          ・1つのアクションを1行で記述する。
          ・1行の中にアクションタイプ、スクリプト名、実行後待ち時間（ミリ秒）、アクション内容の4つをカンマ区切りで記述する。
          ・空行は無視される。
          ・行頭に「//」と「#」があった場合は、コメント行として無視される。
          ・アクション内容に改行が含まれる場合は、「\n」という文字に変換して記述する。
          ・アクション内容に「\」が含まれる場合は、「\\」という文字に変換して記述する。

        例）
          ペーストとキーイベントを実行したい場合
            1,,300,test
            4,,0,65,1,3
          上記のように記述すると、
          タイプ1（ペースト）を実行し、「test」という文字列が張り付けられます。
          その後、300ミリ秒（0.3秒）待機し、
          タイプ4（キーイベント）を実行し、仮想キーコード65（アルファベットのAキー）が押下されます。

      初期アイテムの「sample」に「multi action」というデータがありますので、
      ご参照ください。

    8.アクションリンク
      既存のデータを実行します。
      書式は以下のようになります。

        書式）
          ・1つのリンクを1行で記述する。
          ・1行の中に実行後待ち時間（ミリ秒）、アイテムパスの2つをカンマ区切りで記述する。
          ・空行は無視される。
          ・行頭に「//」と「#」があった場合は、コメント行として無視される。
        アイテムパスについて）
          アイテムパスとは、各アイテムを識別するためのパス（文字列）になります。
          Windowsのファイルパスに相当します。
          ルート（一番上の階層）を「/」とし、それ以降のパスを、アイテム名と「/」で区切って記述します。
          パスは絶対パスか相対パスで記述します。
          絶対パスは「/」から記述したパスになります。
          相対パスは、アイテムの存在するパスから見た相対的なパスになります。
          相対パスで上の階層を指定したいときは、「../」を記述します。
          相対パスの例）
            「test10」というセット内の「test11」というデータから1つ上の「test20」というセット内の「test21」という
            データを指定したい場合
            [階層構造]
              test10
                test11
              test20
                test21
            [相対パスの記述]
              ../test20/test21
            [絶対パスの記述]
              /test20/test21

        例）
          Sampleのpasteとkeyを実行したい場合
            300,/sample/paste
            0,key
          上記のように記述すると、
          「/sample/paste」データを実行し、300ミリ秒（0.3秒）待機した後、
          「/sample/key」が実行されます。

      初期アイテムの「sample」に「action link」というデータがありますので、
      ご参照ください。

    9.シェル実行
      シェルコマンドを実行します。
      URLを指定した場合、デフォルトのウェブブラウザがURLを開きます。
      ファイルを指定した場合、関連付け実行されます。
      フォルダを指定した場合、エクスプローラで開きます。

  [共有について]
    クリップボードをネットワークで共有します。
    sanvient以外のアプリケーションでクリップボードへコピーすると、
    ネットワークを経由して、データが送信（受信）されます。
    以下、設定項目について説明します。
    共有…ホストリストにデータを共有（送信）したい相手のホスト名かIPアドレスとポート番号を記述します。
          例）
            127.0.0.1:30215
          改行区切りで複数のホストを記述できます。
    受信…受信に使用するポート番号等を指定します。
          ポート番号は他のアプリケーションが使用していない番号を指定してください。
    送信…「送信データを暗号化する」はネットワークにデータを送信するときに
          暗号化して送信します。
          「名前」は送信先の相手に通知する名前を設定します。

■利用上の注意
  このソフトはフリーウェアですが、著作権は放棄しません。
  ソフトウェアを使用することで生じた不具合・損害等につき
  ましては作者は責任を負いませんので、自己責任においてご使用ください。

  転載・配布につきましてはご一報ください。

■E-Mail
  不具合やご要望等のご連絡は下記のメールアドレスまでお願いします。

  Mail: sanvient@gmail.com
  URL: http://www.deepskyblue.net/software/sanvient/

