パテがLinux上で右クリックして貼り付けを使用するように強制する

パテがLinux上で右クリックして貼り付けを使用するように強制する

puttyZorin OS(Ubuntuベース)で右クリックして強制的に貼り付けることを許可する方法はありますか?

右ボタンを押すと、選択項目が貼り付けられるWindowsの動作が気に入ります。

ベストアンサー1

ユーザーとして @teijeloで言った彼らの答えまだ実装されていないため、Unixでは「Compromise(中央展開、右ペースト)」は使用できません。なぜできないのかわかりません。 Putty開発者にこれについて問い合わせる必要があります。おそらく誰も要求しなかったでしょう。しかし、オープンソースの特性上、いつでもプログラムのソースコードを必要に応じて修正して使用できます。次のパッチは、右クリックのデフォルトの動作を修正し、テキストを貼り付けます。

diff --git a/unix/gtkwin.c b/unix/gtkwin.c
index 5660ee9..4f2ec2b 100644
--- a/unix/gtkwin.c
+++ b/unix/gtkwin.c
@@ -447,7 +447,7 @@ static Mouse_Button translate_button(Mouse_Button button)
     if (button == MBT_MIDDLE)
         return MBT_PASTE;
     if (button == MBT_RIGHT)
-        return MBT_EXTEND;
+        return MBT_PASTE;
     return 0;                          /* shouldn't happen */
 }

diff --git a/unix/uxsftpserver.c b/unix/uxsftpserver.c
index a90344e..6fab0ba 100644
--- a/unix/uxsftpserver.c
+++ b/unix/uxsftpserver.c
@@ -412,16 +412,6 @@ static void uss_fstat(SftpServer *srv, SftpReplyBuilder *reply,
     }
 }

-#if !HAVE_FUTIMES
-static inline int futimes(int fd, const struct timeval tv[2])
-{
-    /* If the OS doesn't support futimes(3) then we have to pretend it
-     * always returns failure */
-    errno = EINVAL;
-    return -1;
-}
-#endif
-
 /*
  * The guts of setstat and fsetstat, macroised so that they can call
  * fchown(fd,...) or chown(path,...) depending on parameters.

Puttyソースコードを入手してパッチを適用し、Puttyを再構築する必要があります。それは簡単なプロセスです。

Puttyリポジトリを複製します。

git clone git://git.tartarus.org/simon/putty.git && cd putty

上記で貼り付けたパッチをMBT_PASTE.patchに保存して適用します。 (失敗した場合は、以下から直接パッチをダウンロードしてください。http://drabczyk.org/MTB_PASTE.patch):

git apply MTB_PASTE.patch

パテビルド:

$ cd unix
$ ../mkfiles.pl  && ../mkauto.sh
$ make -j$(nproc) -f Makefile.gtk LDFLAGS="-Wl,--no-as-needed,-ldl"

私のコンピュータでは、ビルドに6秒しかかかりません。新しく構築されたPuttyバイナリを起動します。

./putty

ディストリビューションのパッケージマネージャを使用してシステム全体にPuttyのインストールを開始した場合と同様に、保存されているすべてのセッションと設定を表示できます。これで、右クリックして選択したテキストを貼り付けることができます。 Puttyを直接再コンパイルしたくない場合 信じる私、ここでプリコンパイルされたバイナリを取得できます http://drabczyk.org/putty

このアプローチには確かに欠点がある。私が導入した変更は、Putty開発者によって正式に承認されていません。 クロス。ディストリビューションのパッケージマネージャとしてインストールされたPuttyバイナリをこれに置き換えると、ディストリビューションのパッケージマネージャを使用してPuttyが更新されるたびに置き換えられます(時には、大規模システムを実行するときと同じようにPuttyが更新されていることに気付かない場合があります)。 。あるいは、~/binPuttyの前などの他の場所~/binにPuttyフォークを配置して、$PATHフォークがシステム全体のPuttyバイナリよりも前に選択されるようにすることもできます。そして、この小さな変化がどのような副作用をもたらすのかわかりません。

私も使用を検討していますが、xdotoolXを使うのかWaylandを使うのかはよくわかりませんが、ただソースコードで一行だけ修正する方が楽だと思います。

おすすめ記事