Как получить функцию Zenity в Yad?

Как получить функцию Zenity в Yad?

У меня в папке есть следующие двадцать шесть файлов:

$ ls
a.txt  c.txt  e.txt  g.txt  i.txt  k.txt  m.txt  o.txt  q.txt  s.txt  u.txt  w.txt  y.txt
b.txt  d.txt  f.txt  h.txt  j.txt  l.txt  n.txt  p.txt  r.txt  t.txt  v.txt  x.txt  z.txt
$

Я могу использовать Zenity следующим образом:

zenity --list --title=Test --width=275 --height=400 --column="File names" *.txt

и изначально получаем такой интерфейс:

Список Зенити

Если я хочу выбрать файл, расположенный ниже в списке, скажем, r.txt, я нажимаю rи r.txtон выбирается.

Zenity показывает выбор

Однако, если я использую Yad вместо Zenity, вот так:

yad --list --title=Test --width=275 --height=400 --column="File names" *.txt

нажатие rничего не делает. Мне приходится использовать клавиши со стрелками, чтобы прокручивать список, пока не дойду до r.txt.

Насколько я понимаю, у Yad больше функций, чем у Zenity. Так есть ли способ заставить Yad делать то, что делает Zenity?

(Протестировано с использованием версий репозитория Yad и Zenity, найденных в 18.04 и 19.10.)

решение1

Для обучения yadя нашел эту замечательную ссылку:ЯД - Smokey01.com

Как упоминалось в комментариях, вы хотите использовать опцию--search-column=N

В качестве примера возьмем следующий фрагмент кода:

while true ; do
    local Selected INSTRUCTIONS
    INSTRUCTIONS="Click Icon to move and press Enter"
    Selected=$(yad --list --radiolist \
    --image="$ICON" --window-icon="$ICON" \
    --margins=10 --no-click  --search-column=4 \
    --title="$TITLE" "${GEOMETRY[@]}" \
    --text="<big><b>$TEXT</b></big> - $INSTRUCTIONS" \
    --column "Select" \
    --column "Order" \
    --column "Icon Type:HD" \
    --column "Icon name" \
    --column "Linkless name:HD" \
    --column "Modified date" \
    --column "Col Pos:NUM" \
    --column "Row Pos:NUM" \
    --button="_Alpha Sort:$ButnAlpha" \
    --button="_Linkless Sort:$ButnLinkless" \
    --button="_Oldest Date:$ButnOldest" \
    --button="_Newest Date:$ButnNewest" \
    --button="_Test:$ButnTest"  \
    --button="_Apply:$ButnApply" \
    --button="_Cancel:$ButnCancel" \
    "${IconsArr[@]}")

    Retn="$?"

Столбцы № 3 и № 5 скрыты, но они все еще учитываются. Мы хотим искать по названию значка, поэтому это столбец № 4, как записано здесь:

    --margins=10 --no-click  --search-column=4 \

Короткий .gifвидеоролик ниже показывает, что происходит, когда мы печатаем:

  • a, Backspace, b, Backspace, c, Backspace, e(затем циклы gif)

поисковая колонка.gif

Связанный контент