폴더에 다음과 같은 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
을 누르고 r을 r.txt
선택합니다.
그러나 다음과 같이 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 루프)