web-dev-qa-db-ja.com

クリック可能なリンク+ポップアップメニュー

PS1に、ポップアップメニューなどを開くことができるリンクをクリックすることはできますか?

私のシナリオ

.bashrcを表示するために、PS1をパーソナライズしました

user@machine: path #/$

gitリポジトリ内にいる場合は、ブランチとステータスの別の文字も表示されます

user@machine: path [branch !] #/$

ところで、Ask Ubuntuでこれを行うためのコードを入手しました。

私の考え

ブランチ名をクリックすると、ダウンロードしたブランチのリストが表示されます(変更するオプションの有無にかかわらず)。

ポップアップメニューに「ダイアログ」および「選択/選択」オプションがいくつか見つかりましたが、クリック可能なリンクに何も見つかりませんでした。

6
res

Ihadを使用する場合、ターミネーターや 新しいプラグインを作成する のようなターミナルエミュレーターを選択します。私はそれがすべてどのように機能するかをハックする必要があるかもしれませんが、ターミネーターがテキストをピックアップし、シェル環境について知っているものを使用して、ピッキング用のGTK3メニューを提示することができるはずです。

を徹底的に処理するために考えられる唯一の他の方法は、独自のシェル置換を書くことです。 bash(など)を包み込み、マウスの関与を処理するもの。これを行うPyScreenのようなものがありますが、あなたが直接やりたいことをするものはありません。端末のプロキシは、レンダリングバグのレシピでもあります。この空間の成熟したもの(例:screen)でさえ、時々混乱することがあります。

何よりも、これらはいずれも20分間の運動ではありません。プラグインには数時間かかり、シェルを正しく使用するには数日かかるでしょう。おそらく、これを行うように言われた人を押し返し、それは私の時間の不経済な使用であると言います。

自分でこれを望んでいるのであれば、ブランチをリストして選択できるbrコマンドを少し書くだけでしょう。そこに例がありますが、最良の解決策としてはどれも提示しません。それらはすべて、あなたが望んでいたものに対する妥協です。

5
Oli