如何在 Yad 中獲得 Zenity 功能?

如何在 Yad 中獲得 Zenity 功能?

我的資料夾中有以下二十六個檔案:

$ 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 所做的事情嗎?

(使用 18.04 和 19.10 中發現的 Yad 和 Zenity 儲存庫版本進行測試。)

答案1

為了學習,yad我找到了這個很好的參考: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

相關內容