rofi 메뉴 높이 자동 조정

rofi 메뉴 높이 자동 조정

rofi사용 가능한 옵션 수에 맞게 메뉴 높이를 자동으로 조정하고 싶습니다 . 옵션이 있지만 -lines이 옵션으로는 상수만 전달할 수 있습니다. 따라서 호출할 때마다 명령을 두 번 실행해야 합니다. 줄 수를 세고 메뉴를 표시합니다.

#!/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명령 대체 형식 =(...)은 익명 함수에 전달됩니다.

관련 정보