fzf は端末ではなく xdotool として出力します。

fzf は端末ではなく xdotool として出力します。

fzf.shプロジェクトのリストを起動し、プロジェクトを選択し、選択した特定の行の出力を端末に印刷するスクリプトを作成できます。

#!/bin/bash
cat ~/list.txt | fzf --reverse

次のコマンドを使用して、このスクリプトを起動するためにUbuntuキーボードショートカットを作成しました。

gnome-terminal -e 'bash -c "fzf.sh"'

キーボードショートカットを有効にするときに、端末ではなく、私が集中しているアプリケーションに選択した行を印刷する方法を見つけようとしています。

私はdmenuとxdotoolを使用する前に、次のようにこれを行いましたdmenu.sh

#!/bin/bash
xdotool sleep 0.3 type --delay 0.1 "$(grep -v '^#' ~/list.txt | dmenu | cut -f1)"

その後、私が開いたプログラム(Chromeなど)に出力が表示されます。

fzfで同じことをどのように実行できますか?以下のスクリプトは機能しません。選択した行の出力がファントム端末に印刷されるようです。その理由は、その行から行を選択すると、list.txtターミナルポップアップがすぐに表示され、閉じていることがわかりますが、何も印刷されないためです。私のアプリケーションFocusはdmenuにあったのと同じです。

#!/bin/bash
xdotool sleep 0.3 type --delay 0.1 "$(grep -v '^#' ~/list.txt | fzf --reverse | cut -f1)"

表示に問題があるため、UbuntuのデフォルトのWaylandセッションを使用する必要があるため、dmenuからfzf(または代替)に移動しようとしています。

関連情報