Open nmaya opened 10 months ago
準備にダイアログ毎にソースを分けています。
ファイル - ディレクトリ...(file - change directory...) ダイアログは ファイルのダウンロード先を指定します。 Additional setting - General に収めて ダイアログをやめるのはどうでしょうか change directory という名前もちょっと悩みそう。
それと、Additional setting 全体の面積を広くしている VisualタブのTheme部分を別のタブ(Themeタブ)にしたほうがよさそう。
最近は気にしなくもよさそうですが 1024x780ディスプレイだと(600x480だと完全に)はみ出すと思う…。
VisualタブのTheme部分を別のタブ(Themeタブ)にしたほうがよさそう。
Themeタブを追加しました。 codingタブの面積が大きくなったのでダイアログのサイズはそれほど変化なしです。
codingタブのDEC Special Graphicsはフォントタブに置くのが良い気がしてきました。
ts.Language の参照を減らしました。
送受信文字コード以外で、Language設定を参照しているのは IMEの初期化とキー入力処理(非Unicode(ANSI)動作時)の2箇所でした。
1つめのIMEの初期化は Windows にサポートがあれば初期化を行うようにしました(1e63ac3)。
2つめのキー入力処理は、Language==IdRussian時に KOI8-R コードを生成するドライバ(これ?)対応処理で、 ロシア語モードの Keyboard の Keyboard 設定 のロシア語キーボードタイプ指定です。 GetACP()の戻り値を見るようにしました(e9cfb49)。 ただ、このコードが有効なのは 9x系Windows のときで、 NT系(Unicode動作時)ではキー関連のメッセージはUnicodeとなるので、 ロシア語、日本語などの処理も通りません。
これら修正で、ts.Languageは送受信文字コードだけで使用される変数となりました。 文字コード関連を整理する時、 Setup - General設定 の Language 設定をなくせると思います。
デフォルトポートを移動しました。 move_defaultportブランチです。
この移動で Setup - General設定 ダイアログに空きができたので lng ファイルの情報表示を追加しました。 uilangブランチです。
General設定ダイアログは、UI言語設定専用ダイアログにして、 ボタンなどは言語を切り替えても英語で表示するようにして あやまって読めない言語に切り替えても 変更できるようにするのはどうでしょうか。
(ブランチは修正して作り直したりするかもしれないので コミットにコメントいただくと消えてしまうかも知れないです このissueにコメントいただきたいです)
特に問題なさそうだったら、2,3日で main にマージしようと思います。
mainにマージしました。 読めないUI言語に切り替えても戻せるようになりました。
https://ci.appveyor.com/project/teraterm/github-main/builds/49604721/artifacts
Terminal setup ダイアログから coding タブを開けるようにしました。(415c5f3d)
coding タブへ誘導できるようになったので、 Terminal setup から文字コード設定を削除しても大丈夫かなと思います。 これで少しの間様子を見ようと思います。
https://ci.appveyor.com/project/teraterm/github-main/builds/49657284/artifacts
ファイル - ディレクトリ...(file - change directory...) ダイアログは ファイルのダウンロード先を指定します。 Additional setting - General に収めて ダイアログをやめるのはどうでしょうか
移動しました。
キーボードダイアログをその他の設定のキーボードタブへ移動しました。 b688e57
ビルドしています。 https://ci.appveyor.com/project/teraterm/github-main/build/artifacts
追加設定にMouseタブを追加しました。(9aa2dca6a37e302a497b93101e5968aac332701c) タブ内のシーケンス関連のコントロールはまだ移動していません。
残るのはつぎの4つです。
このうち TCP/IP のホストリストの編集部分だけは タブに入れないで残しておきたいと思いますがいかがでしょう? ダイアログだとリサイズが実現できていて、 広くすれば履歴がたくさん見れて便利だからです。
このうち TCP/IP のホストリストの編集部分だけは タブに入れないで残しておきたいと思いますがいかがでしょう?
まずは別でいいと思います。 Color Theme のように新作別ウィンドウにするか、別シートを新作するか、既存ダイアログのままにするか、あとで考えましょう。
もうひとつ、今の動きを変えるべきと思うところがあります。 Serial です。 「Serial Port」ダイアログはID_OKを押すと「設定の反映」と「接続」をします。
今のadditional settingsにはシリアル以外の設定もあるので、「設定の反映だけで接続しない」にしたほうがよいと思います。
設定の中から接続できるのがなんだかいまひとつに思っていました。
ファイル - 新しい接続 のシリアルポートから シリアルのパラメータが設定できるのがよいなと思います。 (でもどうすればよいかよくわからずにいます)
ログの初期値設定と、ログの開始の2つがあるようなイメージです。
5.4リリースに間に合わなさそう…
このうち TCP/IP のホストリストの編集部分だけは タブに入れないで残しておきたいと思いますがいかがでしょう?
まずは別でいいと思います。 Color Theme のように新作別ウィンドウにするか、別シートを新作するか、既存ダイアログのままにするか、あとで考えましょう。
編集部分を別ウィンドウにしました。 新しい接続のダイアログからも編集できるようになりました。
https://ci.appveyor.com/project/teraterm/github-snapshot/builds/50291521/artifacts
特に指摘がなければ2,3日後にmainにマージしようと思います。
TCP-IP
Connection ダイアログの「History」はまだわかりますが、TCP/IP に「History」があるのは分かりづらいかもしれませんね。 英文法の正しさは怪しいですが、Connection ダイアログは「Save to history」(履歴に保存)、TCP/IP は「Save history when new connection」(新規接続時に履歴に保存)などとしたほうが分かりやすいかもしれません。
TCP/IPタブのレイアウトを調整して 履歴とtelnetをまとめまてみました。
sshプラグインがないとき、 新しい接続は TCP/IP か シリアル の2択になります。
当初はTCP/IPダイアログは、 2択のうちのTCP/IP接続の設定だったのかなと思います。
どう整理したらよいかすぐわからないですが まだまだわかりにくい感じです。
TCP/IPタブを整理しました。
バイナリを作りました。 お試しください。
https://ci.appveyor.com/project/teraterm/github-snapshot/builds/50339850/artifacts
特に指摘がなければmainにマージしようと思います。
sshプラグインがないとき、 新しい接続は TCP/IP か シリアル の2択になります。
当初はTCP/IPダイアログは、 2択のうちのTCP/IP接続の設定だったのかなと思います。
SSH プラグインがあってもなくても、新しい接続は「TCP/IP」「シリアル」「名前付きパイプ」の3択です。名前付きパイプは New connection ダイアログにはなく、コマンドライン引数で指定します。設定ダイアログもありません。 ですから、いまでも TCP/IP setup ダイアログはTCP/IP接続の設定です。
接続方法
+- TCP/IP
| +- Telnet
| +- SSH(TTSSHがあれば)
| +- Other(/telnet を指定しない状態)
+- Serial
+- 名前付きパイプ
新しい接続ダイアログの初期値、という気持ちでした。 TCP/IPタブに"新しい接続ダイアログ"という項目があるのが良くないのかもしれません。 ひとまず違和感少ない General タブに戻しましょう。
移動しました。 あまりチェックできてないので念のため別ブランチにしました。 4dcbb4cb41f2e7d32728c013076f16b3d074bb3f です。 よさそうでしたら main にマージしてください。
SSH プラグインがあってもなくても、新しい接続は「TCP/IP」「シリアル」「名前付きパイプ」の3択です。
2択じゃないですね。
TCP/IPのSSHで接続すると、認証ダイアログが出る感じで Serialで接続を選ぶと、接続するCOMポート(or/and 通信条件)を選ぶダイアログが 出ると分かりやすいかな…
デフォルトポートをGeneralタブへ移動する変更がいまいちなので作り直します。
これまでの仕様(5.2での動作)は以下の通りです。
(b) 「TCP/IP を選んでいるのに違う接続ができる」「TCP/IP の中からしか名前付きパイプを指定できない」というのは項目名とねじれが発生していますが、「Host がなんでも受け入れる例外的な存在」だからできているもの、と認識しています。
違和感があるのは、TCP/IP に「新しい接続ダイアログ」の設定項目を全て入れようとしていることです。 "「新しい接続ダイアログ」のデフォルト値すべて" を設定できる画面というのを想定しているようですが、そのような画面は不要で TCP/IP と Serial に分散していてよいと考えます。
移動しました 4dcbb4cb41f2e7d32728c013076f16b3d074bb3f
ありがとうございます。 デフォルトポートは General にあるべきと思います。
TCP/IP にあるべきではありません。 https://github.com/TeraTermProject/teraterm/issues/84#issuecomment-2204733903 に書きましたが、Serial の設定を変えたい(上記(j)の新規接続する機能は消す)と考えています。 新規接続時に暗黙的にデフォルトポート番号が変わる以外に、Serial の設定でデフォルトポート番号を選べるようになるがよいと思っています。
Tera Term の New Connection ダイアログは UI が Telnet/Other で、Telnet フラグ on/off を取ります。 TTSSH の表示する New Connection ダイアログは UI が Telnet/SSH/Other で、Telnet フラグ on/off と、TTSSH の Enabled フラグ 1/0 を取ります。 そのため私には、この Telnet だった設定項目は Serice の選択をするところという認識はなく、そのまま Telnet の on/off です。 TTSSH を使っていたとしても Tera Term の設定の選択肢に SSH を入れることはありません。 「SSHプラグイン使用時に無効」 という注釈がありますが、無効になるのは Telnet フラグであり、「TCP/IPサービス」ではありません。 いまはプルダウンになっていますが、Telnet というチェックボックスのままでよかったと思います。
「一部の設定が "新しい接続ダイアログ" で変更して接続に行くことが可能」なことを表しているように見えますが、「これまでずっと区別していなかったし、UI に出てくるからわかるし、区別しなくていいんじゃないの?」と思います。
ファイル - 新しい接続 のシリアルポートからシリアルのパラメータが設定できるのがよいなと思います
Serialで接続を選ぶと、接続するCOMポート(or/and 通信条件)を選ぶダイアログが出ると分かりやすいかな…
SSH は認証が必要だから認証ダイアログが出ているのです。 たとえば New Connection ダイアログから SSH サーバに接続(TCP/IP 接続する)たびに TCP/IP 設定ダイアログを出して欲しいですか?不要です。 上記(c)のような動き(Tera Term を起動すると ComPort へ自動的に接続する)をするのは、即座に接続したいというニーズがあるからに他なりません。
コメントを読まずに修正して pushしてしまいました。
従来の動作からするとおおきな修正でしたね。 元に戻しましょう。
標準のポートは元の動作になっています。
Telnetのプルダウンをチェックボックスに戻しますね。
TCP/IP タブを直しました。ダイアログのときの雰囲気になっていると思います。
ありがとうございます。マージします。
端末の設定、Windowsダイアログをプロパティーページにしました。 関連した変更も一緒に行っています。
色見本(color_sample.cpp,h)は themedlg.cpp内の色見本ソースと統合、 テーマ内に色見本を表示できるようにしようと思っています。
設定内の整理を先にすすめて、 残るSerial Port dialogは少し後回しがよさそうです。
84-property_page (aad1621ba6152398b368ea32dc0cd00fd18c241a) ブランチです。
Save history when new connection
History は新規接続時以外もリストを最近使用された順に整列する機能があるので不適当に感じました
84-property_page (https://github.com/TeraTermProject/teraterm/commit/aad1621ba6152398b368ea32dc0cd00fd18c241a) ブランチ
ビルドが通らないようです。
エラー LNK2019 未解決の外部シンボル _CreateTerminalPP が関数 "public: __thiscall CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(struct HINSTANCE__ *,struct HWND__ *)" (??0CAddSettingPropSheetDlg@@QAE@PAUHINSTANCE__@@PAUHWND__@@@Z) で参照されました ttermpro C:\Users\maya\work\teraterm\teraterm\teraterm\addsetting.obj 1
エラー LNK2019 未解決の外部シンボル _CreateWinPP が関数 "public: __thiscall CAddSettingPropSheetDlg::CAddSettingPropSheetDlg(struct HINSTANCE__ *,struct HWND__ *)" (??0CAddSettingPropSheetDlg@@QAE@PAUHINSTANCE__@@PAUHWND__@@@Z) で参照されました ttermpro C:\Users\maya\work\teraterm\teraterm\teraterm\addsetting.obj 1
Save history when new connection
History は新規接続時以外もリストを最近使用された順に整列する機能がある
New Connection ダイアログの「Host」コンボボックスは、TERATERM.INI の Host セクションの内容が選択肢になります。 New Connection ダイアログの「History」が on だと、新規接続時に、Host に入力されている接続先が自動的に TERATERM.INI の Host セクションの先頭に保存されます。 New Connection ダイアログから新規接続すると「History」チェックボックスの値が内部変数 ts.HistoryList に記憶されますが、TCP/IP タブの「Save history when new connection」を使うと「New Connection ダイアログを表示して接続する」操作をすることなく ts.HistoryList の値を変更することができます(どこかに接続しないと設定値を変えられないのは不便だからです)。
「最近使用された順」というのはどこかに記憶されているのでしょうか?それは ts.HistoryList が on でも off でも記憶されているのでしょうか? また、どのような操作をすると「リスト」(とはなんのことですか?)がその順に整列されるのでしょうか?
不適当に感じました
どうなっていれば適当なのでしょうか?
TCP/IP の「Edit history」ダイアログですが、名前が実態とあわないと思います。
「History」が on だと「Host エディットコントロールの内容をTERATERM.INI の Host セクションに追加する」動作をし、これは接続先のホストが保存されるので History と表現されているのはわかります。 一方「Edit history」は、TERATERM.INI の Host セクションを編集するダイアログです。「履歴を編集」となっていると、「履歴」という結果を編集しているような感じがするので違うと思います。
「TERATERM.INI の Host セクションのデータ」をなんと表現するかですが、「host list」として、ダイアログは「Edit host list」などとするのはどうでしょうか? > @zmatsuo
私が動作確認した限りでは、以下のチェックボックスは連動しており、異なる機能をはたしている様にはみえません。
「最近使用された順」というのはどこかに記憶されているのでしょうか?それは ts.HistoryList が on でも off でも記憶されているのでしょうか? また、どのような操作をすると「リスト」(とはなんのことですか?)がその順に整列されるのでしょうか?
New Connection ダイアログの「History」が on だと、新規接続時に、Host に入力されている接続先が自動的に TERATERM.INI の Host セクションの先頭に保存されます。
New Connection ダイアログの「History」が on だと、既存(すでに New Connection ダイアログのホスト一覧のプルダウンに登録済み==.INIのHost*に登録済み)のホストでも、接続したら、ホスト一覧の先頭に整列されます。 そして「History」と 「Save history when new connection」のチェックボックスは連動しているので、 新規接続以外にもホスト一覧のヒストリのメンテ機能があると思いますが。。
この issue の説明のなかで、挙がっているものを todo 化しました。 スレッドがないため議論が追いづらくなっているので、長引くようなら todo から sub issue を切ってください。
@kattyo-abk #315 に移動します。
ビルドが通らないようです。
修正ました。
「履歴を編集」となっていると、「履歴」という結果を編集しているような感じがするので違うと思います。
履歴をしらべると記録のこと(=ログ)という説明が出てきますね。
"履歴"とついていてコンピュータ関連な言葉だと 閲覧履歴、検索履歴などが出てきます。
"history"だとコンピューター用語で、歴史や履歴という説明になっています。
.bash_histroy(ファイル) とかhistory(シェルのコマンド)でみますね。
とりあえずですが、「新しい接続」ダイアログにある「履歴」だと、 "接続の履歴"だろうと推測できそうな感じはします。
「TERATERM.INI の Host セクションのデータ」をなんと表現するかですが
新しい接続ダイアログの「ホスト」というのが 実はコマンドラインなので、 「コマンドラインの履歴」のほうがしっくりでしょうか。 でもちょっと長い感じですね。
「host list」として、ダイアログは「Edit host list」などとするのはどうでしょうか?
多分、「TCP/IPタブ」にあることがしっくり感を大きく損なう原因で、 「新規接続タブ」(仮) を新設してそちらに移動すれば しっくり感が出るのではないでしょうか
315 もTCP/IPタブにチェックボックスがあるのが
分かりにくい一因ではないでしょうか。
「新規接続タブ」(仮)
新しい接続ダイアログ
「シリアルタブ」(未着手)
こんな感じはどうでしょうか。
それと、 履歴の編集ダイアログは、 ブロードキャストコマンドの履歴編集や (今は存在しないですが)ログ履歴の編集にも 使えそうだなと思い中です。 (そしてヘルプがないのに気づきました)
「新しい接続」ダイアログにある「履歴」だと、"接続の履歴"だろう
はい、「『今から行う接続の履歴=1件ぶん』を『INIのHost*』に残す」というのが実際の動作です。
実はコマンドラインなので
そうなのですが、「New connection ダイアログ」の「TCP/IP」の中の「Host」なので、Host でよいと考えます。
「コマンドラインの履歴」のほうがしっくりでしょうか
私のイメージする「履歴」は、「どこへ接続したかすべての記録(何時何分なのかを含む)(同じ接続先に複数回接続してもすべて残る)」です。 .bash_history には、コマンドについてこのような「いつ」「なにを実行したか」が記録されています。まさにログですね。
私の違和感はこういうものです。
「TCP/IPタブ」にあることがしっくり感を大きく損なう原因
上記のように「New connection ダイアログの TCP/IP の中の Host」なので、私はそこに違和感がありません。 いままで TCP/IP ダイアログ内で直接編集できていて、違和感はありませんでした。
いまは種類ごとにまとまっていている良さがありますが、それが混乱するというならタブを独立させることは構わないと思います。
ComPort 以外のボーレートなどはシリアルのところに残すように、また複数箇所に同じ値の編集を作らないようにすればよいとおもいます。
新しいタブを作るのは後回しにしてもう少し考えましょう。
シリアルをタブ化するのほうが先のほうがよさそうな感じがしてきました。
Setup - Window ダイアログがタブシートになって、だいぶ簡素化(機能削除?)された印象です。 Scroll buffer の設定はどこへ行きましたか? Color 設定は動作していないようです。まだ工事中でしょうか。
TTXKanjiMenu の Japanese menu / Korean menu は、なくて良いと思います。もし残すなら "menu" でなく Japanese encodings / Korean encodings とするのが良いと思います。
ヘルプの対応を行っていませんでした。 修正をpushしました。 3caf04b46ce3e00b4f683d77af64dfc8feb6a937
ヘルプファイルの修正を行ってテストしていて気づきました。
Setup - Window ダイアログがタブシートになって、だいぶ簡素化(機能削除?)された印象です。 Scroll buffer の設定はどこへ行きましたか? Color 設定は動作していないようです。まだ工事中でしょうか。
不具合の指摘ですよね。 手もとでの使い方では問題なく動作していたこともあり気づきませんでした。 (手もとでは64bitビルド(cmakeビルド)を常用しているのも発生しにくい原因か?)
手もとで発生したときの画像を添付します(上 通常 / 下 問題あり)
問題なく動作すると思われる使い方
ごくたまに問題が出る手順
現時点で分かったことはこれぐらいで、 もっと別の発生条件があると思われます。
発生している不具合は似たような感じでしょうか? 安定してWindowsタブは問題あり状態でしょうか? @sempreff
TTXKanjiMenu の Japanese menu / Korean menu は、なくて良いと思います。
日本語Windowsを使っていて、韓国語を素早く切り替えたい、 韓国語Windowsを使っていて、日本語を素早く切り替えたい、 という要望があるかもしれませんね。
ヘルプに TTXKanjiMenu の項目を追加しようかと思ったのですが、 プラグインについて意外とあちこちに書かれているように思いました。 再編したほうがいいのかな…
Setup - Window ダイアログがタブシートになって
常に下段のスクショ状態です。上段の状態を見たことがありません。
TTXKanjiMenu の Japanese menu / Korean menu は
という要望があるかもしれません
従来無かったものですが、どうしてそういうニーズがあるとお考えになったのでしょうか。ご自身がそのように使いたい、ということでしょうか。であれば、
もし残すなら "menu" でなく Japanese encodings / Korean encodings とするのが良いと思います。
をご検討いただけませんか。"menu" では、指す意味が広すぎてユーザにとってわかりにくいと思います。
(これは余談ですが、 window と windows は違うものとして区別なさった方がよろしいかと存じます。特にタブ名を示す時には。)
Setup - Window ダイアログがタブシートになって
もっと別の発生条件があると思われます。
HideTitle=on で動きを見てみていただけますか。他にも条件があるかもしれませんが、私のところではこの on/off が重要なようです。なお、動作中の Hide Title bar の off/on では挙動は変わらず、ini ファイルの HideTitle の記載が on か off かによって挙動が変わるように見受けられます。
常に下段のスクショ状態です。上段の状態を見たことがありません。
表示を司る変数が未初期化で不定な値になっていました。 (debugビルドだと特定の値になって安定するはず)
とりあえず(無理やり)画像の上の状態で表示するようにしたものを準備しました。 84-window_tab ブランチです 1699ac6ef369178ff76369e6d0b56001413da810
これが原因だと思われます。
挙動が変わる
画像の上の状態で表示されて、挙動が安定するはずです。 (安定しなかったらさらに他のバグですね) テストしてみていただけないでしょうか @sempreff
tttypes.VTFlag がどうなるのが良いのか調べます。
とりあえず(無理やり)画像の上の状態で表示するようにしたもの
今度は「TEK window から Setup > Window した時にも VT window 用の設定画面になってしまう」という挙動ですね。
私の環境でどうなっているか画面キャプチャを貼ります。
Windows 11 Pro 23H2 日本語 ソース 84-window_tab ブランチ af177561494ef2e282224e310d1bba2b9b87265f 手元でビルド release.bat で 5(Releaseビルド) portable.iniあり TERATERM.INI HideTitle=on
VTWindow で Ctrl+左クリック - Setup - Window VTWindow 用の画面が出ているようです。
TEKWindow で Ctrl+左クリック - Setup - Window TEKWindow 用の画面が出ているようです。
TTXKanjiMenu の件は #353 に移動をお願いします
Window 設定ですが、いままで VT/TEK から同じダイアログを呼んで、呼び元により項目が切り替わっていました。 以前は単体のダイアログだったので「いまはVTの設定/いまはTEKの設定」と頭のなかでわかりましたが、タブを切り替える今のUIでは切り替えればほかの設定もあるダイアログなので、この挙動は不自然なように思います。 移植が落ち着いて、全体の項目整理をするときにまた考えませんか?
TEK window の Setup > Font も 従来ダイアログが残っていますし、 TEK window の Setup > 配下には Window と Font しかありませんので、 この2つは従来方式のダイアログが残っている、という形であればユーザにとってもわかりやすいと思います。
ついては、いったん以下のような整理にしておく案はどうでしょうか。
Background
Setup メニュー配下の以下は、オリジナル 2.3 からある設定メニュー
その後増設された設定項目は基本的に既存のダイアログを改修せず、Additional Settings に配置された。 そのため、Additional Settings 内ではタブでカテゴリ分けがなされているが、同じカテゴリの設定項目が別のダイアログに散逸している。(例:boldの色設定と有効設定)
さらにあとから、Font が「Font-Font」と「Font-Dialog」に分割された。 また、Additional Settings に Font シートや Conding シートが追加され、同じ設定が複数の箇所から変更できるようになり、混迷を極めている。
概要
設定ダイアログ(設定の分類)と設定項目の整合性を取る
ダイアログと設定項目の対応・新分類案を書いてみました https://docs.google.com/spreadsheets/d/1ZsRES7VbZVDvvHrCNL7ubTN1o5YWQ1AfrqSOFw_7n1E/edit?usp=sharing
Special (INI 直接編集) になっている項目
タスク管理
origin
https://osdn.net/projects/ttssh2/ticket/44226
_Originally posted by @nmaya in https://github.com/TeraTermProject/teraterm/issues/74