フォルダー内に次の 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 の代わりに 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、、、、、、、(その後、gif がBackspaceループしbます)BackspacecBackspacee