Tengo los siguientes veintiséis archivos en una carpeta:
$ 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
$
Puedo usar Zenity así:
zenity --list --title=Test --width=275 --height=400 --column="File names" *.txt
y obtenga esta interfaz inicialmente:
Si quiero seleccionar un archivo que se encuentra más abajo en la lista, digamos, r.txt
presiono ry r.txt
se selecciona.
Sin embargo, si uso Yad en lugar de Zenity así:
yad --list --title=Test --width=275 --height=400 --column="File names" *.txt
presionar rno hace nada. Tengo que usar las teclas de flecha para desplazarme por la lista hasta llegar a r.txt
.
Tengo entendido que Yad tiene más funciones que Zenity. Entonces, ¿hay alguna manera de lograr que Yad haga lo que hace Zenity?
(Probado utilizando las versiones de repositorio de Yad y Zenity que se encuentran en 18.04 y 19.10).
Respuesta1
Para aprender yad
encontré esta gran referencia:YAD - Smokey01.com
Como se mencionó en los comentarios, desea utilizar la opción.--search-column=N
Tome el siguiente fragmento de código como ejemplo:
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="$?"
Las columnas 3 y 5 están ocultas pero aún se cuentan. Queremos buscar por Nombre del icono, por lo que es la columna n.° 4 como se registra aquí:
--margins=10 --no-click --search-column=4 \
El breve .gif
clip a continuación muestra lo que sucede cuando escribimos:
- a, Backspace, b, Backspace, c, Backspace, e(luego bucles gif)