rofi
利用可能なオプションの数に合わせてメニューの高さを自動的に調整したいと思います。オプションがありますが、-lines
このオプションでは定数のみを渡すことができます。したがって、呼び出すたびにコマンドを2回実行する必要があります。行数を数えてメニューを表示します。
#!/usr/bin/sh
lines=$(my_command | wc -l)
my_command | rofi -dmenu -lines "$lines"
rofi
メニューを利用可能なオプションの数に絞り込むように指示できますか?
ベストアンサー1
withを最大行数として使用して、-no-fixed-num-lines
選択したい項目の数に合わせてサイズを変更できます。-lines <as-many-as-would-fit-on-your-screen>
rofi
my_command | rofi -location 2 -lines 45 -yoffset 30 -dmenu -no-fixed-num-lines
あるいは、一時ファイルにコマンド出力を保存することもできます。
#! /bin/zsh -
function {
rofi -dmenu -lines $(( $(wc -l < $1) )) -input $1
} =(my_command)
ここで使用されるzsh
コマンド置換形式=(...)
は、匿名関数に渡されます。