cygwin ck のダブルクリック選択文字列の範囲を変更する

Cygwin 用のターミナルソフトウェア cygwin ck  を便利に使わせてもらってますが、唯一不満な点が一つあり、ターミナル上でマウスをダブルクリックした際に選択される文字列が TeraTerm と違い、”_ (アンダーバー)” や “. (ドット)” 等の文字も区切り文字として認識されるため、コピーアンドペーストが使いにくく感じてました。

設定ファイル (.ck.config.js) でも変更できないようなので、ソースを覗いてみたところ、ハードコーディングされていたので、自分で修正してみました。

修正箇所は、screen.cpp ファイル 617行目の以下の変数です。 (ck-3.6.3のソースを使用)

static const wchar_t  BREAK_CHARS[] = L"\"&()*,.-_/:;<=>@[\\]^`'{}~\x3000\x3001\x3002\x300C\x300D\x3010\x3011" ;

この変数に区切り文字が定義されていますので、このように変更しました。

static const wchar_t  BREAK_CHARS[] = L"\"()*,:;<=>@[\\]^`'{}\x3000\x3001\x3002\x300C\x300D\x3010\x3011";

上記では、”& . – _ / ~” を削除しています。

修正後のバイナリをここに添付しておきますので、欲しい人はもっていってください。ck-3.6.3 の ck.app.dll を添付のファイルと置き換えるだけです。

ck.app.zip

 

以前書いた基本設定編はこちら

タイトルとURLをコピーしました