ターミナルエミュレータの Poderosa はバージョン 4 まではオープンソースでしたが、バージョン 5 以降は有償ソフトウェアになってしまいました。 試用期間もあるのですが、「インターネットから遮断された状態ではターミナルの接続ができない」という制限があり、使い勝手がよくありません。 バージョン 4 であれば現在も GitHub 上でオープンソースとして開発が継続されている為、今回は Poderosa4 を Windows 10 にインストールします。
.zip ファイルのセキュリティ設定にチェックしてから展開する
GitHub のプロジェクトページから Relase ファイルを取得します。 今回は 4.4.5 をダウンロードしました。 但し、現在はバイナリではリリースされていないのか、ソースコードしか見当たらなかった為、ダウンロードした .zip を展開し、.sln から Visual Studio を起動して Release Build 設定にしてビルドしました。 これで bin/release/poderosa.exe
が生成されますが、そのまま実行すると以下のようにブロックされ、実行出来ません。
poderosa.exe
のプロパティから保護の解除を実施して再実行しても、更に以下のような警告が表示されました。
これを避ける為に、GitHub のプロジェクトページからダウンロードした .zip ファイルを展開する 前に、.zip ファイルのプロパティを開き、以下画面の一番下にある「セキュリティ」にチェックを入れて OK をクリックします。 これで poderosa.exe
をエラー無く、実行出来るようになりました。
TerminalEmulator プロジェクトの CommandResultPopup.cs
の 256 行目あたりを以下のように変更します。
コマンドポップアップの順序を変更する
Poderosa コマンド実行時に Enter の代わりに Ctrl + ,
(コントロール + カンマ)を押すことで、コマンドの実行結果をクリップボードへコピーしたり、別ウインドウでポップアップさせることが出来ます。 但し、標準状態では Ctrl + ,
した際の候補順序が以下のようになっています。
- コマンド実行結果をポップアップする
- コマンド実行結果をコピーする
私の場合は「2. コマンド実行結果をコピーする」の利用頻度の方が圧倒的に高いので、この順序を逆にします。 Visual Studio から TerminalEmulator プロジェクトの CommandResultPopup.cs
の、下記部分を探します。 今回の v4.4.5 だと 256 行目にありました。 これを以下のように変更し、Poderosa をビルドし直します。
変更前
//ExtP作成とデフォルトの登録
public static void CreateExtensionPointAndDefaultCommands(IPluginManager pm) {
IExtensionPoint pt = pm.CreateExtensionPoint(POPUP_MENU_EXTENSION_POINT, typeof(ICommandResultProcessorMenuItem), TerminalEmulatorPlugin.Instance);
pt.RegisterExtension(new PopupCommandResult());
pt.RegisterExtension(new CopyCommandResult());
}
変更後
//ExtP作成とデフォルトの登録
public static void CreateExtensionPointAndDefaultCommands(IPluginManager pm) {
IExtensionPoint pt = pm.CreateExtensionPoint(POPUP_MENU_EXTENSION_POINT, typeof(ICommandResultProcessorMenuItem), TerminalEmulatorPlugin.Instance);
pt.RegisterExtension(new CopyCommandResult());
pt.RegisterExtension(new PopupCommandResult());
}
これで Ctrl + ,
を実行した際の候補が以下のように「コピーが上」になります。
- コマンド実行結果をコピーする
- コマンド実行結果をポップアップする
コメント