~/.purpleに同じ設定(chatty + pidgin)を使用する2つのプログラムがありますが、それらを異なる設定フォルダに分割したいと思います。
私の目標はchattyにchattyの設定のみを使用させることですが、pidginは両方を使用します。パラメータを使用してpidginを呼び出して設定ディレクトリへの特定のパスを指定した場合は、
これを行うことができます。これはうまくいきます。-c
しかし、chatty設定をpidginに統合したいのですが、chatty自体は独自の設定でのみ機能します。
私はこれに対する解決策を思い出しました。私は、設定ファイル(存在する/アクティブなアカウントや連絡先リストなど)が通常のファイルになることを望まないで、デバイスのように機能したい(ユーザースペースのみ)。なぜなら、ファイルから読み取ると、実際にはいくつかのスクリプトやプログラムによって要求されたときに生成されたバッファから読み取られます。ファイル操作を使用してユーザーのためにファイル形式のデータを透過的に生成することを除いて、デバイスドライバから読み取る方法と似ています。
スクリプトは、chattyの設定ファイルとpidginの元の設定を含む別のファイルからcat(またはそれに対応するc ++ / python / whatever)を多少呼び出します。
スクリプト/プログラム/ドライバはこのファイルへの書き込みも処理し、pidginの設定のみを変更する必要があります。
例:
.purple/blist.xml:
ChattyContact1
ChattyContact2
ChattyContact3
.pidgin/blist_pidginOnly.xml:
PidginContact1
PidginContact2
PidginContact3
cat .pidgin/blist.xml
(特殊ファイル、パイプ、デバイスなどのファイル):
ChattyContact1
ChattyContact2
ChattyContact3
PidginContact1
PidginContact2
PidginContact3
ここで、組み合わせは、一部のメカニズムを介して読み取ると生成されるか、ファイルが変更されたときに自動的に更新されます。
ソースファイルはXML形式なので、この例は単純化されているため、ファイルのマージにいくつかのプログラムロジックを適用する必要があります。
ファイル/スクリプト/デバイス/パイプ/?書き込み操作も処理する必要があり、一部のプログラムロジックでは、書き込む実際のファイルを決定し、それを実行する必要があります。
私はこれのプログラミング部分についてかなり確信しています。ファイルシステムのファイルをプログラムにリンクすることが可能かどうか疑問に思います。
名前付きパイプを使用しようとしましたが、入力が一度処理されると閉じます。しかし、名前付きパイプについて十分に知らないかもしれませんが、これは可能な解決策です。