Yad에서 Zenity 기능을 어떻게 얻나요?

Yad에서 Zenity 기능을 어떻게 얻나요?

폴더에 다음과 같은 26개의 파일이 있습니다.

$ 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을 누르고 rr.txt선택합니다.

선택을 보여주는 Zenity

그러나 다음과 같이 Zenity 대신 Yad를 사용하면:

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

관련 정보