私はアイデアがあります。端末をプログラムとして使用してプログラムを実行できますか?
dmenu / rofiの代わりにFZFを使用してすべてのプログラムを一覧表示し、選択を実行してから実行後に端末を閉じたいと思います。
私はこれを試しましたが、うまくいきません。
termite -e run.sh
またはurxvt -e zsh -c run.sh
run.sh
で構成される:
#!/bin/zsh
preexe() { kill -9 $PPID }
exec $(whence -pm '*' | fzf) &!
答え1
exec ... &!
バックグラウンドで開始してexec ...
終了します。
また、コマンドのstdin/stdout/stderrを配置する場所を決定する必要があります。また、端末からコマンドを切り離そうとします。
xterm -e zsh -c '
set -o pipefail -o errexit
print -rN -- $commands | fzf --read0 --print0 | IFS= read -rd "" cmd
setsid -- "$cmd" <> /dev/null >&0 2>&0'
$cmd
ここでは、I / Oがから/にリダイレクトされる新しいセッションで実行されています/dev/null
。理想的には、ウィンドウ/セッション管理者にコマンドを実行するように指示することをお勧めします。