Ticket #34943

設定フォルダを開く

Eröffnet am: 2015-02-28 20:45 Letztes Update: 2015-05-31 14:21

Auswertung:
(del#24082)
Verantwortlicher:
(del#24082)
Status:
Geschlossen
Komponente:
Priorität:
5 - Mittel
Schweregrad:
5 - Mittel
Lösung:
Gefixt
Datei:
Keine
Vote
Score: 0
No votes
0.0% (0/0)
0.0% (0/0)

Details

Tera Termが起動時に読み込んだ teraterm.ini が、どのパスにあるかが分かりにくいため、
下記メニューを、「設定の読み込み」と「キーマップ読み込み」の間に追加する。

 ・設定 - 設定フォルダ

#動作イメージとして、サクラエディタの設定 - 共通設定 - 設定フォルダに近いものを想定。

Tera Term 4.87リリースに向けては、案3で検討中。

cf.
チケット #34902
GUI Configuration Option for "EnableLineMode" INI file setting

(1)案
Revision: 5809で teratem.ini があるフォルダを開くように対応しましたが、
よくよく考えたら、Tera Termの設定ファイルは下記の通り、複数存在するので、
それぞれごとのフォルダが異なる可能性があります。
ダイアログを出して、一覧で参照できるようにしようとか考えています。

- cygterm.cfg
- KEYBOARD.CNF
- ssh_known_hosts
- TERATERM.INI
- theme\ImageFile.INI
- theme\Scale.INI
- theme\Tile.INI


(2)案
設定フォルダメニュー配下に、さらにサブメニューを追加する。
TERATERM.INIファイルは Virtual Store 対象外となるようなので(Win7/8.1で確認)、
別扱いとする。
INIファイル以外のファイルで、ひとつでも Virtual Store にあれば、Vitual Storeを開く。

 ・設定 - 設定フォルダ -+-- TERATERM.INI
                      |
                      +-- Others


(3)案
ユーザの使用頻度が高い設定ファイルをサポートする。

- cygterm.cfg
- KEYBOARD.CNF
- ssh_known_hosts (RW用)
- TERATERM.INI

Ticket-Verlauf (3/19 Historien)

2015-02-28 20:45 Aktualisiert von: (del#24082)
  • New Ticket "設定フォルダを開く" created
2015-03-01 16:23 Aktualisiert von: (del#24082)
  • Details Updated
2015-03-04 00:37 Aktualisiert von: (del#24082)
  • Details Updated
2015-03-04 23:51 Aktualisiert von: (del#24082)
  • Details Updated
2015-03-05 09:19 Aktualisiert von: (del#1144)
Kommentar

ひとつのディレクトリに複数の設定ファイルを置いて使い分けることもできるので、フォルダを開いただけでは設定ファイルを特定できないかもしれません。

案1で「フルパス」で「ファイル名まで」わかるようにするのがよいと思います。

2015-03-06 16:14 Aktualisiert von: (del#24082)
Kommentar

ご意見ありがとうございます。 案1で進めます。

2015-03-07 10:46 Aktualisiert von: (del#1144)
Kommentar

Visual Studio 2005 では TOKEN_ELEVATION 構造体が定義されていないようで、コンパイルできませんでした。

2015-03-07 11:10 Aktualisiert von: (del#1144)
Kommentar

TOKEN_ELEVATION は vtwin.cpp の中で定義してしまえば良さそうですが、TOKEN_INFORMATION_CLASS は TokenOrigin までのものが winnt.h にすでに存在しているので、上書き定義出来ません。

また、OpenProcessToken() や GetTokenInformation() の最低サポート OS バージョンが高めだと思うので、古い OS では実行時にエラーが出るような気がします。

2015-03-07 22:20 Aktualisiert von: (del#24082)
Kommentar

フィードバックありがとうございます。 VBやC#でも使えるやり方があるようなので、それを参考に、VS2005でもビルドできるようにしました。

Vista以前のOSに対しては、OSバージョンを見て、特権レベルの確認をしないようにしてあります。

cf. http://dobon.net/vb/dotnet/system/isadmin.html

2015-03-07 22:46 Aktualisiert von: (del#24082)
Kommentar
ssh_known_hosts ファイルのパスを Tera Term 側から知りたいのですが、
どのやり方がスマートでしょうか?

案(1)
TComVar 構造体のメンバーを追加し、TTSSHが起動されたときに、
TTSSH側でセットする。

案(2)
TTXScpSendfile のようなエクスポート関数を作り、Tera Term 側から
起動し、パスを取得する。
2015-03-07 23:36 Aktualisiert von: (del#1144)
Kommentar

VS2005

対応ありがとうございます。ADVAPI32.DLL の遅延読み込みが必要かと思いましたが、Windows95 からある DLL なので大丈夫でした。

theme

BGThemeFile の指定を見ると、ImageFile.INI/Scale.INI/Tile.INI は固定で指定しているのではなくワイルドカードになっています。

ssh_known_hosts

いま使われているファイルを特定するには、起動時の設定値のコピーではなく、現在の設定値を返す関数を使うのがよいと思います。

そういえば、ssh_known_hosts も 2 ファイル指定できませんでしたっけ?

INI C:\Program Files\teraterm\TERATERM.INI 「...」
CNF C:\Program Files\teraterm\KEYBOARD.CNF 「...」
cygterm.cfg C:\Program Files\teraterm\cygterm.cfg 「...」
theme C:\Program Files\teraterm\theme\*.ini 「...」
ssh_known_hosts C:\Program Files\teraterm\ssh_known_hosts 「...」

「...」 は、左の表示結果のフォルダ部のみを検出して開く、というのはどうでしょうか。

2015-03-08 01:18 Aktualisiert von: (del#24082)
Kommentar

maya への返信

theme

BGThemeFile の指定を見ると、ImageFile.INI/Scale.INI/Tile.INI は固定で指定しているのではなくワイルドカードになっています。

デフォルトではそうなのですが、背景画像を指定した場合は"ImageFile.INI"に書き換わります。 Scale.INIとTile.INIは、常に同じディレクトリ配下にあるので、この2つは束ねてもよいかなと 考えましたが、再考の余地あり。

ssh_known_hosts

いま使われているファイルを特定するには、起動時の設定値のコピーではなく、現在の設定値を返す関数を使うのがよいと思います。

案2で検討します。

そういえば、ssh_known_hosts も 2 ファイル指定できませんでしたっけ?

それは認識なかったですが、いま確認してみると、確かに読み書きようと読み込み専用の 2つが指定できるようになっていますが、どうやって使い分けるのか。。

|| INI || C:\Program Files\teraterm\TERATERM.INI || 「...」 || || CNF || C:\Program Files\teraterm\KEYBOARD.CNF || 「...」 || || cygterm.cfg || C:\Program Files\teraterm\cygterm.cfg || 「...」 || || theme || C:\Program Files\teraterm\theme\*.ini || 「...」 || || ssh_known_hosts || C:\Program Files\teraterm\ssh_known_hosts || 「...」 || 「...」 は、左の表示結果のフォルダ部のみを検出して開く、というのはどうでしょうか。

そちらのほうがよいので、対応します。

2015-03-08 08:50 Aktualisiert von: (del#1144)
Kommentar

デフォルトではそうなのですが、背景画像を指定した場合は"ImageFile.INI"に書き換わります。 Scale.INIとTile.INIは、常に同じディレクトリ配下にあるので、この2つは束ねてもよいかなと 考えましたが、再考の余地あり。

テーマファイルはユーザが自由に増減できるので「Scale.INIとTile.INI」の2つに固定できません。

さらに、あるファイルは VirtualStore 先にあって、別のファイルはそうではないという状況は存在します。難しいです。

TERATERM.INIファイルは Virtual Store 対象外

別名で保存すると VirtualStore のフォルダに保存されます。

2015-03-08 22:25 Aktualisiert von: (del#24082)
Kommentar

ssh_known_hosts が複数指定できるようになっていることを、実装から確認しました。 TTSSHの設定ダイアログでは、最大2つ指定することができるようになっていますが、 実際にはセミコロンで区切れば、いくつでも指定できるようになっています。

KnownHostsFiles=ssh_known_hosts;ssh_known_hosts2;ssh_known_hosts3;ssh_known_hosts4;…

pvar->hosts_state.file_numでファイル数、pvar->hosts_state.file_namesでファイル名が 格納されているので、これらの情報を Tera Term 側から取得すればよさそうです。

2015-05-21 00:42 Aktualisiert von: (del#1144)
Kommentar

「ts.EtermLookFeel.BGThemeFile を表示する」という案では、/path/to/theme/*.ini と表示することはできても、実在するファイル名でないと _access() が値を返さないので openVirtualStore() が正しく動作しない、という感じでしょうか。いまいちですね。

実在して中に何かあればどちらのフォルダも開く、というのは乱暴かなぁ。

一つずつ VirtualStore かどうか判定してプルダウンにするのもありかと思いましたが、それは表示幅が足りなくなりますね(今はエディットコントロールだから横にスクロールできる)。

2015-05-21 09:18 Aktualisiert von: (del#24082)
  • Details Updated
2015-05-22 00:12 Aktualisiert von: (del#24082)
  • Details Updated
2015-05-31 13:59 Aktualisiert von: (del#24082)
  • Ticket Close date is changed to 2015-05-31 13:59
  • Status Update from Offen to Geschlossen
  • Lösung Update from Keine to Gefixt
2015-05-31 14:21 Aktualisiert von: (del#1144)
Kommentar

#35205 へ続く

Dateianhangliste

Keine Anhänge

Bearbeiten

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Anmelden